首页 > 代码库 > android源码修改,实现长按电源键直接关机

android源码修改,实现长按电源键直接关机

版本:android 4.4.2

源文件路径:frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java

修改下面的代码:

private final Runnable mPowerLongPress = new Runnable() {        @Override        public void run() {            // The context isn‘t read            if (mLongPressOnPowerBehavior < 0) {                mLongPressOnPowerBehavior = mContext.getResources().getInteger(                        com.android.internal.R.integer.config_longPressOnPowerBehavior);            }            int resolvedBehavior = mLongPressOnPowerBehavior;            if (FactoryTest.isLongPressOnPowerOffEnabled()) {                resolvedBehavior = LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM;            }/*            switch (resolvedBehavior) {            case LONG_PRESS_POWER_NOTHING:                break;            case LONG_PRESS_POWER_GLOBAL_ACTIONS:                mPowerKeyHandled = true;                if (!performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false)) {                    performAuditoryFeedbackForAccessibilityIfNeed();                }                sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);                showGlobalActionsDialog();                break;            case LONG_PRESS_POWER_SHUT_OFF:            case LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM:                mPowerKeyHandled = true;                performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);                sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);                mWindowManagerFuncs.shutdown(resolvedBehavior == LONG_PRESS_POWER_SHUT_OFF);                break;            }*/            //注释掉上面的代码后,增加下面的代码            mPowerKeyHandled = true;            performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);            sendCloseSystemWindows(SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS);            mWindowManagerFuncs.shutdown(false);//这里false代表不显示关机提示框,true未显示关机提示框        }    };

 修改后,长按关机键会直接关机。

android源码修改,实现长按电源键直接关机