成功设备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();
为了优化服务,您还可以尝试定期将屏幕超时设置为最大可能的最大值,以便即使手动更改也可以将其重置。(不确定允许的最大数量,您需要反复尝试检查)
/** * 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); }
(来源)