14

我目前正在使用以下参考代码对警报通知活动进行唤醒锁定。不过SCREEN_DIM_LOCK已经贬值了。那么,我应该用什么来代替它呢?

//Instance of wake lock for AlarmActivity
PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MyWakeLock");
4

3 回答 3

14

Android Developer documentation specifies that SCREEN_DIM_WAKE_LOCK should be replaced with FLAG_KEEP_SCREEN_ON. After doing a bit of digging, I turned up this...

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

It should be placed in the onCreate() method.

于 2014-03-17T05:35:46.940 回答
7

正如javadoc所说,它可以替换为FLAG_KEEP_SCREEN_ON,但这将防止屏幕变暗 - 它会保持明亮。

此 API 不应该被弃用 - 在某些情况下仍然需要它,例如“ dim ”情况。

另请参阅

于 2014-06-30T07:44:14.893 回答
-1

Just use

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON

In place of

PowerManager.SCREEN_DIM_WAKE_LOCK
于 2019-01-02T10:57:28.587 回答