目录

  • 需求
  • 解法
  • 简析
  • 结果
  • 参考

Platform: RK3568
OS: Android 11
SDK Version:android-11.0-mid-rkr11.2


需求

Android11长按power键弹出的关机对话框默认是有3个按键:Emergency(紧急呼救),Power off(关机),Restart(重启),如下所示:

客户要求去除Emergency这个按键。

解法

在frameworks/base/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java 中的createActionItems()方法中屏蔽Emergency的action

diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index ff25439a5f9f..effbc1b56139 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -608,8 +608,9 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,// make sure emergency affordance action is first, if neededif (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
-            addIfShouldShowAction(tempActions, new EmergencyAffordanceAction());
-            addedKeys.add(GLOBAL_ACTION_KEY_EMERGENCY);
+            /*addIfShouldShowAction(tempActions, new EmergencyAffordanceAction());
+            addedKeys.add(GLOBAL_ACTION_KEY_EMERGENCY);*/}for (int i = 0; i < defaultActions.length; i++) {
@@ -655,7 +656,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,addIfShouldShowAction(tempActions, new LogoutAction());}} else if (GLOBAL_ACTION_KEY_EMERGENCY.equals(actionKey)) {
-                addIfShouldShowAction(tempActions, new EmergencyDialerAction());
+                //addIfShouldShowAction(tempActions, new EmergencyDialerAction());} else {Log.e(TAG, "Invalid global action key " + actionKey);}

简析

之前在Android12上是有设置过长按power键的弹框功能的1,所以一开始也是想去config.xml里面找找有没有相关的属性配置,但是客户说已经参考了网上类似的方法2但没有效果。再继续查找资料,发现这篇文章3分析的比较细致,指出关机对话框的最终实现是在GlobalActionsDialog.java 中。而这篇文章4则直接点明了修改方案,我这边就不原文搬运了,自己简单捋一捋其中几个关键方法:

  • showOrHideDialog()根据当前状态显示/隐藏对话框
  • handleShow()显示对话框
  • createDialog() 用于创建新的对话框
  • createActionItems()添加各种按键action事件

因此如果想要增减/修改关机对话框的按键都可以在createActionItems()方法中进行操作。

结果

修改后效果如下


欢迎留言讨论,感谢阅读~

参考


  1. RK3568 Android12 长按power键功能设置 ↩︎

  2. Android10.0去掉长按电源键弹出框中的紧急呼救按钮 ↩︎

  3. 全网最详细的Android11.0长按power键关机流程分析 ↩︎

  4. android 9.0 10.0 长按Power弹出关机对话框去掉屏幕截图和紧急呼救功能 ↩︎

RK3568 Android11 去除长按power键弹框的emergency按键相关推荐

  1. Android 5.1 长按power键流程分析

    安全模式简述 android平台,在长按power / menu键时会快速进入一个模式选择,部分定制的平台是直接进入安装模式,也可以定制成公司需要的一些特定功能模式,比如报警 ... power 也属 ...

  2. Android rom开发:长按Power键关机/重启优化,告别长时间等待

    最近在项目上碰到了这样的问题:在某个apk界面长按power键来选择关机或者重启,apk会出现重启现象,并且更加尴尬的是,在另外的方案上面对比后发现没有问题,明明白白地显示这是系统的锅. 好吧,改!仔 ...

  3. RK3588长按power键强制关机的按键时间设置

    RK3588长按power键强制关机的按键时间设置 本文适用于RK3588+RK806(电源管理芯片)的方案,power(电源)键是直接控制RK806来控制RK3588的上下电,可以实现短按开机.长按 ...

  4. 1.[Sprd]-(Sprd9820e安卓4.4平台user版开启长按power键开启sysdump分析)

    1.sp9820e安卓4.4开启长按power开启sysdump 1.1uboot开启arm reset u-boot15/include/configs/sp9820e_2h10.h #if DEB ...

  5. JS中去除手机端的alert弹框中的关闭网页功能

    问题没有得到完全的解决,仅能解决刷新的第一次点击无关闭网页 去除关闭网页 具体代码如下 var wAlert = window.alert;window.alert = function (messa ...

  6. android7.0 电源(Power)键流程

    对于Power键的分析文章较多,本文从android7.0源码的角度大致分析下电源键的流程!参考博主连接:http://blog.csdn.net/gaugamela/article/details/ ...

  7. 长按android版本,Android系统长按power实现键硬件关机—高通sdm845

    1.软件层关机,跳过长按power键选择界面,直接关机 path:frameworks/base/services/core/java/com/android/server/policy/PhoneW ...

  8. Android系统长按power实现键硬件关机—高通sdm845

    1.软件层关机,跳过长按power键选择界面,直接关机 path:frameworks/base/services/core/java/com/android/server/policy/PhoneW ...

  9. Android 长按电源键和短按电源键的详细处理流程

    1 Android Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCOD ...

  10. Android 系统修改长按关机键功能

    系统环境 瑞星微 px30 android 8.1系统 要实现的功能 原本长按power键的功能是弹出一个选择对话框,关机和重启功能,长按两个选择项会提示是否要进入安全模式,现将它改成长按恢复出厂功能 ...

最新文章

  1. .net框架读书笔记---通用对象操作(一)
  2. 【十二省联考2019】皮配【分部dp】
  3. 悦虎四代洛达1562M固件下载升级更新
  4. Tensorflow快餐教程(6) - 矩阵分解
  5. python冒泡排序实验报告_python中的冒泡排序
  6. 完全平方数(HYSBZ-2440)
  7. php kibana查询,搜索您的数据 | Kibana 用户手册 | Elastic
  8. SharePoint 实现ajax异步加载数据的几种方式
  9. css代码样式大全(整理版)
  10. 牛客练习赛63 牛牛的树行棋
  11. 华为云IoT提出万物互联新范式,从万物感知到万物生长
  12. 【传统CV】Anovel adaptive morphological approach for degraded character image segmentation
  13. resultful使用
  14. 中泰XTP极速交易系统缔造者:为量化而生
  15. 使用R语言画火山图详细步骤
  16. 如何轻量化深度学习模型
  17. 网站建设难度大吗?效果好吗?
  18. 企业中Linux下软件的管理(yum仓库的搭建以及软件的控制)
  19. unity简单复刻无敌破坏王
  20. 将VIM打造成强大的IDE

热门文章

  1. mysql脏数据_mysql的刷脏
  2. 教师资格证面试考试详细流程来了
  3. 基于google api 的youtube评论爬取
  4. 逻辑门 与 买猫电路升级版
  5. 为什么小企业更应该关注人工智能?
  6. CCproxy 设置代理服务器。
  7. 2019暑期集训感悟
  8. 捕捉百合网的女同志和echarts展示
  9. springboot大学生就业规划系统毕业设计-附源码191451
  10. 基于python的网络聊天室论文_Python基于Socket实现简单聊天室