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);
相关推荐
狂浪天涯20 分钟前
Android 16 | Display Framework - 2 | Surface
android·操作系统
没有了遇见21 分钟前
Android 异常处理机制全解析:虚拟机层、Java 层与 Native 层
android
顾林海22 分钟前
Android深入解析 so 文件体积优化
android·面试·性能优化
Code季风25 分钟前
测试驱动开发(TDD)实战:在 Spring 框架实现中践行 “红 - 绿 - 重构“ 循环
java·驱动开发·后端·spring·设计模式·springboot·tdd
hello早上好33 分钟前
JPA、缓存、数据源与连接池、简介
java·mybatis
想要成为祖国的花朵1 小时前
Java_Springboot技术框架讲解部分(二)
java·开发语言·spring boot·spring
赵健zj1 小时前
鸿蒙Next开发,配置Navigation的Route
android·linux·ubuntu
vvilkim1 小时前
深入理解设计模式:原型模式(Prototype Pattern)
java·设计模式·原型模式
通域1 小时前
Mac (m1) Java 加载本地C共享库函数 .dylib 函数 Unable to load library ‘liblicense‘
java·python·macos