RK3568 android11 修改关机弹窗界面

需要修改关机弹窗界面,当前界面我已经按照客户需求去掉emergency

但是客户需要按其他区域可以实现返回,也就是点击黑色背景取消dialog

嗑代码发现黑色布局为:

java 复制代码
<node index="0" text="" resource-id="com.android.systemui:id/global_actions_grid_root" class="android.widget.LinearLayout" package="com.android.systemui" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,200][1536,1964]"/>
</node>

监听它并取消弹窗:

java 复制代码
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index ff25439a5f9f..fd0c83a225ee 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -221,7 +221,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
     protected final ArrayList<Action> mPowerItems = new ArrayList<>();
 
     @VisibleForTesting
-    protected ActionsDialog mDialog;
+    //protected ActionsDialog mDialog;
+    protected static ActionsDialog mDialog;
 
     private Action mSilentModeAction;
     private ToggleAction mAirplaneModeOn;
@@ -537,6 +538,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
         mDialog.getWindow().setAttributes(attrs);
         // Don't acquire soft keyboard focus, to avoid destroying state when capturing bugreports
         mDialog.getWindow().setFlags(FLAG_ALT_FOCUSABLE_IM, FLAG_ALT_FOCUSABLE_IM);
+        android.util.Log.w("GlobalActionsDialog", "lqx handleShow ");
+        mDialog.setCanceledOnTouchOutside(true);
         mDialog.show();
         mWindowManagerFuncs.onGlobalActionsShown();
     }

@@ -2335,6 +2340,22 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
                     return true;
                 }
             });
+
+            //add lqx
+            ViewGroup test111 = findViewById(com.android.systemui.R.id.global_actions_grid_root);
+            android.util.Log.w("GlobalActionsDialog", "lqx -------  ");
+            test111.setClickable(true);
+            test111.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                                        // 关闭对话框   lqx
+                                               android.util.Log.w("GlobalActionsDialog", "lqx setOnClickListener onClick  ");
+                                       if(mDialog != null) {
+                                               mDialog.dismiss();
+                                           }
+                                    }
+                });
+
             mGlobalActionsLayout.setRotationListener(this::onRotate);
             mGlobalActionsLayout.setAdapter(mAdapter);
             mContainer = findViewById(com.android.systemui.R.id.global_actions_container);
相关推荐
_李小白4 分钟前
【Android FrameWork】第四十九天:SystemUI
android
阿里巴巴P8高级架构师6 分钟前
从0到1:用 Spring Boot 4 + Java 21 打造一个智能AI面试官平台
java·后端
Mr -老鬼6 分钟前
移动端跨平台适配技术框架:从发展到展望
android·ios·小程序·uni-app
stevenzqzq8 分钟前
trace和Get thread dump的区别
java·android studio·断点
桦说编程8 分钟前
并发编程踩坑实录:这些原则,帮你少走80%的弯路
java·后端·性能优化
程序猿零零漆9 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十三)SpringMVC快速入门、请求处理
java·学习·spring
BHXDML9 分钟前
JVM 深度理解 —— 程序的底层运行逻辑
java·开发语言·jvm
tkevinjd11 分钟前
net1(Java中的网络编程、TCP的三次握手与四次挥手)
java
码头整点薯条11 分钟前
基于Java实现的简易规则引擎(日常开发难点记录)
java·后端
城东米粉儿15 分钟前
compose measurePoliy 笔记
android