admin管理员组文章数量:1577511
目录
- 需求
- 解法
- 简析
- 结果
- 参考
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 needed
if (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()
方法中进行操作。
结果
修改后效果如下
欢迎留言讨论,感谢阅读~
参考
RK3568 Android12 长按power键功能设置 ↩︎
Android10.0去掉长按电源键弹出框中的紧急呼救按钮 ↩︎
全网最详细的Android11.0长按power键关机流程分析 ↩︎
android 9.0 10.0 长按Power弹出关机对话框去掉屏幕截图和紧急呼救功能 ↩︎
版权声明:本文标题:RK3568 Android11 去除长按power键弹框的emergency按键 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727821981a1131828.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论