2

我正在使用此代码进入 PARTIAL_WAKE_LOCK 模式:

PowerManager pm = PowerManager.getSystemService(Context.POWER_SERVICE);
screenWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                            "screenWakeLock");
pm.acquire();

但是我没有成功关闭屏幕并在需要时打开屏幕,我阅读了数十个示例但没有成功。

我不能使用需要权限 DEVICE_POWER 的代码,例如 goToSleep() 和 wakeUp()。

我的目标是打开屏幕 1 秒并关闭屏幕 10 秒,然后重新开始。

谢谢大家。

4

1 回答 1

-1

使用 PowerManager 需要 DEVICE_POWER 权限,该权限仅适用于由相同签名签名的应用程序,用于对固件进行签名。这就是为什么你不能使用 goToSleep() 和 wakeUp()。

这段代码对我有用,可以打开/关闭屏幕:

//Turn off - brighness to 0;            
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);

要打开,只需将亮度更改为 >0;

于 2014-08-05T19:44:17.060 回答