Android设备按下电源键后,不能息屏,但是通过监听输入事件打印log发现,的确是有处理事件的,最后发现,对于电源键的处理办法是返回桌面,而不是息屏。关键点在于mShortPressOnPowerBehavior的值,mShortPressOnPowerBehavior = mContext.getResources().getInteger( com.android.internal.R.integer.config_shortPressOnPowerBehavior);
因此修改config文件中的config_shortPressOnPowerBehavior
,写入1到3之间的一个数字,例如我写入3,从而使设备息屏。
// frameworks\base\core\res\res\values\config.xml
<!-- Control the behavior when the user short presses the power button.
0 - Nothing
1 - Go to sleep (doze)
2 - Really go to sleep (don't doze)
3 - Really go to sleep and go home (don't doze)
4 - Go to home
5 - Dismiss IME if shown. Otherwise go to home
-->
//修改前
<integer name="config_shortPressOnPowerBehavior">4</integer>
//修改后
<integer name="config_shortPressOnPowerBehavior">3</integer>
参考链接:
Android 8.1 DisplayPowerController(一) 亮灭屏流程
Android 8.1 PowerManagerService分析(一)
Android 手机灭屏流程分析详解
Android7.0 PowerManagerService亮灭屏分析(一)
Android O关机流程
网友评论