我想通过完全关闭屏幕来节省电量(不仅仅是将亮度设置为零),而且没有屏幕锁定。
我已尝试使用PARTIAL_WAKE_LOCK工作:它应关闭屏幕,但保持CPU开启状态。
清单:
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
代码:
private PowerManager.WakeLock screenWakeLock = null;
private void acquireScreenWakeLock() {
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
releaseScreenWakeLock();
screenWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "screenWakeLock");
screenWakeLock.acquire();
}
private void releaseScreenWakeLock() {
if (screenWakeLock != null) {
if(screenWakeLock.isHeld())
screenWakeLock.release();
screenWakeLock = null;
}
}
在代码中的某个时刻,我运行acquireScreenWakeLock(),让显示超时(比如设置为15秒)。说完20秒后,我让应用程序执行另一个操作,写入屏幕。这会重新激活屏幕,但此时屏幕锁定已打开。
我是否在使用PARTIAL_WAKE_LOCK做错了什么?屏幕锁定是否会始终显示,或者是否有防止这种情况的选项? (我已尝试设置android:showOnLockScreen =&#34; true&#34;,但这对显示的应用程序没有任何帮助。)