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);
相关推荐
vx_bisheyuange4 分钟前
基于SpringBoot的库存管理系统
java·spring boot·后端·毕业设计
专注于大数据技术栈6 分钟前
java学习--单例模式之懒汉式
java·学习·单例模式
鹏多多7 分钟前
flutter睡眠与冥想数据可视化神器:sleep_stage_chart插件全解析
android·前端·flutter
czhc114007566328 分钟前
C# 1120抽象类 static
java·开发语言·c#
whltaoin34 分钟前
【 Java微服务 】Spring Cloud Alibaba :Nacos 注册中心与配置中心全攻略(含服务发现、负载均衡与动态配置)
java·微服务·nacos·springcloud·注册中心·配置中心
你不是我我36 分钟前
【Java 开发日记】有了解过 SpringBoot 的参数配置吗?
java·开发语言·spring boot
勇气要爆发41 分钟前
【第五阶段-高级特性和架构】第三章:高级状态管理—GetX状态管理篇
android·架构
稚辉君.MCA_P8_Java43 分钟前
Gemini永久会员 Java HotSpot 虚拟机(JVM)的优点
java·jvm·后端
ivanfor6661 小时前
多租户架构的三级权限体系:设计逻辑与精准控制实现
java·开发语言·数据库
讨厌下雨的天空1 小时前
Linux信号量
java·开发语言