我应该用什么替换SCREEN_DIM_WAKE_LOCK?

时间:2014-03-17 05:26:23

标签: android powermanager

我目前正在使用以下引用的代码对警报通知活动进行唤醒锁定。但是,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");

3 个答案:

答案 0 :(得分:13)

Android开发者文档指定SCREEN_DIM_WAKE_LOCK应替换为FLAG_KEEP_SCREEN_ON。经过一番挖掘后,我出现了这个......

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

应该放在onCreate()方法中。

答案 1 :(得分:6)

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

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

另见this

答案 2 :(得分:0)

只需使用

WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON

代替

PowerManager.SCREEN_DIM_WAKE_LOCK