Chi*_*ang 17 android root android-wake-lock
成功设备root后.现在,我需要使设备始终处于唤醒状态,即始终可见UI,无黑屏或任何白日梦屏幕.为此,我想我要完成以下事项:
我发现的是关于应用层的所有内容,即有一些应用程序可以执行上述任务.但是,由于我的移动设备是根植的,我想用系统文件实现,这样即使其他一些应用程序试图改变上述功能,他们也应该不能这样做.
您的主要用例如下所示(根据您的问题)
即使其他一些应用程序试图更改上述功能,也应该无法更改。
您可以编写系统服务来定期触发PowerManager.WakeLock。(来源)
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
// screen and CPU will stay awake during this section
wl.release();
Run Code Online (Sandbox Code Playgroud)
为了优化服务,您还可以尝试定期将屏幕超时设置为最大可能的最大值,以便即使手动更改也可以将其重置。(不确定允许的最大数量,您需要反复尝试检查)
/**
* set screen off timeout
* @param screenOffTimeout int 0~6
*/
private void setTimeout(int screenOffTimeout) {
int time;
switch (screenOffTimeout) {
case 0:
time = 15000;
break;
case 1:
time = 30000;
break;
case 2:
time = 60000;
break;
case 3:
time = 120000;
break;
case 4:
time = 600000;
break;
case 5:
time = 1800000;
break;
default:
time = -1;
}
android.provider.Settings.System.putInt(getContentResolver(),
Settings.System.SCREEN_OFF_TIMEOUT, time);
}
Run Code Online (Sandbox Code Playgroud)
(来源)
| 归档时间: |
|
| 查看次数: |
5481 次 |
| 最近记录: |