长按power弹出的弹框有紧急呼叫按钮需要去掉

需求场景

定制案子,长按Power按键,弹出的紧急呼叫按钮需要去掉

如下图所示:

在这里插入图片描述

参考资料

这方面的修改,务必了解关机流程、重启流程,作为基础更好了解。之前的文章有过相关分析,可参考:
Android 实现关机和重启功能:

需要修改的文件

frameworks\base\packages\SystemUI\src\com\android\systemui\globalactions\GlobalActionsDialogLite.java
frameworks/base/core/res/res/values/config.xml

解决方案如下:

添加item 到界面的核心方法:

@VisibleForTesting
protected void createActionItems() {
// Simple toggle style if there’s no vibrator, otherwise use a tri-state
if (!mHasVibrator) {
mSilentModeAction = new SilentModeToggleAction();
} else {
mSilentModeAction = new SilentModeTriStateAction(mAudioManager, mHandler);
}
mAirplaneModeOn = new AirplaneModeAction();
onAirplaneModeChanged();

    mItems.clear();
    mOverflowItems.clear();
    mPowerItems.clear();
    String[] defaultActions = getDefaultActions();

    ShutDownAction shutdownAction = new ShutDownAction();
    RestartAction restartAction = new RestartAction();
    ArraySet<String> addedKeys = new ArraySet<>();
    List<Action> tempActions = new ArrayList<>();
    CurrentUserProvider currentUser = new CurrentUserProvider();

    // make sure emergency affordance action is first, if needed
    if (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
        addIfShouldShowAction(tempActions, new EmergencyAffordanceAction());
        addedKeys.add(GLOBAL_ACTION_KEY_EMERGENCY);
    }

    for (int i = 0; i < defaultActions.length; i++) {
        String actionKey = defaultActions[i];
        if (addedKeys.contains(actionKey)) {
            // If we already have added this, don't add it again.
            continue;
        }
        if (GLOBAL_ACTION_KEY_POWER.equals(actionKey)) {
         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野火少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值