1.软件层关机,跳过长按power键选择界面,直接关机
path:frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
长按键函数:
private void powerLongPress() {
…………
case LONG_PRESS_POWER_GLOBAL_ACTIONS:
mPowerKeyHandled = true;
performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);
/* modify start*/
-showGlobalActionsInternal();
+mWindowManagerFuncs.shutdown(false /* confirm */);
/* modify end*/
break;
}
showGlobalActionsInternal();函数调用关机选择界面
mWindowManagerFuncs.shutdown(false /* confirm */);直接调用关机函数
编译system.img烧录重启即可实现跳过长按power键选择界面,直接关机。
2.硬件层关机,长按power 15s关机
path:vendor/qcom/non-hlos/BOOT.XF.2.0/boot_images/QcomPkg/Library/PmicLib/target/sdm845_pm8998_pmi8998/system/src/pm_sbl_boot_oem.c
通过pmic直接控制power按键关机