android PowerManager(电源管理) wakelock(屏幕锁) .

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

android PowerManager(电源管理)wakelock(屏幕锁)

今天在看一个项目的源代码时,发现了这个电源管理和屏幕锁:PowerManager、wakelock。

其中在onStart()方法中获取wakelock,并且在onstop()中将这个lock释放掉。

protected v oid onStart() {

....

pm = (PowerManager) getSy stemServ ice(Context.POWER_SERVICE);

wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK |

PowerManager.ACQUIRE_CAUSES_WAKEUP, "MediaCenterApplication");

wl.acquire();

wl.setRef erenceCounted(f alse);

....

}

protected v oid onStop() {

....

wl.release();

....

}

PowerManager和WakeLock的操作步骤

1. PowerManager pm = (PowerManager) getSy stemServ ice(Context.POWER_SERVICE);通

过Context.getSystemService().方法获取PowerManager实例。

2. 然后通过PowerManager的newWakeLock

((int flags, String

tag)来生成WakeLock实例。int Flags指示要获取哪种WakeLock,不同的Lock对cpu 、屏幕、键盘灯有不同影响。

3. 获取WakeLock实例后通过acquire()获取相应的锁,然后进行其他业务逻辑的操作,最后使用release()释放(释放是必须的)。

关于int flags

各种锁的类型对CPU 、屏幕、键盘的影响:

PA RTI A L_W A KE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。

SCREEN_DIM_W A KE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯

SCREEN_BRIGHT_W A KE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯

FULL_WA KE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度

A C QUIRE_C A USES_W AKEUP:Normal wake locks don't actually turn on the illumination. Instead, they cause the illumination to remain on once it turns on (e.g. f rom user activ ity). This f lag will f orce the screen and/or key board to turn on immediately, when the WakeLock is acquired. A ty pical use would be f or notifications which are important f or the user to see immediately.

ON_AFTER_RE LE ASE:f this flag i s set, the user activity timer w ill be reset w hen the WakeLock is released, causing the illumination to remain on a bit longer. This can be used to reduce flicker i f you are cycling between wake lock conditions.

权限获取

要进行电源的操作需要在AndroidManif est.xml中声明该应用有设置电源管理的权限。

你可能还需要

android:name="android.permission.DEVICE_POWER"/>

相关文档
最新文档