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);
相关推荐
码路飞22 分钟前
GPT-5.4 Computer Use 实战:3 步让 AI 操控浏览器帮你干活 🖥️
java·javascript
锋风1 小时前
远程服务器运行Android Studio开发aosp源码
android
测试工坊1 小时前
Android UI 卡顿量化——用数据回答"到底有多卡"
android
祈安_2 小时前
Java实现循环队列、栈实现队列、队列实现栈
java·数据结构·算法
皮皮林55114 小时前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
顺风尿一寸17 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
程途知微17 小时前
JVM运行时数据区各区域作用与溢出原理
java
华仔啊20 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
xiaoye20181 天前
Lettuce连接模型、命令执行、Pipeline 浅析
java
beata1 天前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用
java·后端