android 4.4 禁止使用power键的休眠功能
16lz
2021-01-24
2、移除锁屏功能
./frameworks/base/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
private boolean mExternallyEnabled = true
把mExternallyEnabled 改成false。但是这只是改了开机默认值,用户还是可用disableKeyguard/enableKeyGuard来启动。
为确保3rd app无法修改,
/frameworks/base/packages/keyguard/src/com/android/keyguard/KeyguradViewMediator.java:
private void doKeyguardLocked(Bundle options) {
...
if (DEBUG) Log.d(TAG, "doKeyguard: showing the lock screen");
+ // showLocked(options);
}
设置Android系统永不休眠,永不锁屏之后,会发现按Power按键,仍然会进入休眠状态。
设置永不锁屏,永不休眠可参考设置Android系统永不休眠永不锁屏。
跟踪Power按键的响应流程,可以发现有goToSleep();这个方法是关键。
\\192.168.1.21\linux_share\xls\a33-dvk3\frameworks\base\services\java\com\android\server\power
PowerManagerService.java
// Called from native code.
private void goToSleepFromNative(long eventTime, int reason) {
Slog.d(TAG,"goToSleepFromNative");
if( true ){
Slog.d(TAG,"goToSleep");
return;
}
goToSleepInternal(eventTime, reason);
./frameworks/base/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
private boolean mExternallyEnabled = true
把mExternallyEnabled 改成false。但是这只是改了开机默认值,用户还是可用disableKeyguard/enableKeyGuard来启动。
为确保3rd app无法修改,
/frameworks/base/packages/keyguard/src/com/android/keyguard/KeyguradViewMediator.java:
private void doKeyguardLocked(Bundle options) {
...
if (DEBUG) Log.d(TAG, "doKeyguard: showing the lock screen");
+ // showLocked(options);
}
设置Android系统永不休眠,永不锁屏之后,会发现按Power按键,仍然会进入休眠状态。
设置永不锁屏,永不休眠可参考设置Android系统永不休眠永不锁屏。
跟踪Power按键的响应流程,可以发现有goToSleep();这个方法是关键。
\\192.168.1.21\linux_share\xls\a33-dvk3\frameworks\base\services\java\com\android\server\power
PowerManagerService.java
// Called from native code.
private void goToSleepFromNative(long eventTime, int reason) {
Slog.d(TAG,"goToSleepFromNative");
if( true ){
Slog.d(TAG,"goToSleep");
return;
}
goToSleepInternal(eventTime, reason);
}
power键的长按关机等功能还是保留的!
更多相关文章
- android驱动学习1-驱动开发流程(Android.mk)
- android怎么将已经安装在内存上的应用程序移动到SD卡上
- android播放器音量控制-使用震动示例代码-进度条控制音量
- Android(安卓)调用系统短信 - 群发
- WorkManager流程分析和源码解析
- Android后端的项目创建流程(IDEA2020 + Tomcat 10 + JDK11)
- android的各个版本和logo
- Vsync垂直同步信号分发和SurfaceFlinger响应执行渲染流程分析(一)
- Android系统启动流程(四)Launcher进程启动过程解析(附带面试题)