Android中通过各种Lock锁对电源进行控制:

PARTIAL_WAKE_LOCKSCREEN_DIM_WAKE_LOCKSCREEN_BRIGHT_WAKE_LOCKFULL_WAKE_LOCK Flag Value CPU Screen Keyboard
On* Off Off
On Dim Off
On Bright Off
On Bright Bright

private static PowerManager.WakeLock mWakeLock;

PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);

mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);

加锁:

mWakeLock.acquire();

解锁:

mWakeLock.release();

需要注意:

0. WakeLock是activity级的

1. 加锁/解锁必须成对出现

2. 可以多次加锁,同时解锁次数等于加锁次数才能完成解锁

3. 未加锁时进行解锁操作会抛出异常,程序挂掉

可以用下面的方法保证不多次加锁及未加锁时进行解锁:

if (!mWakeLock.isHeld())

mWakeLock.acquire();

if (mWakeLock.isHeld())

mWakeLock.release();

更多相关文章

  1. EditText横屏时,弹出软件盘时不进行全屏
  2. Delphi在Android下通过WiFI进行调试
  3. Android——消息机制
  4. Android调用系统自带的文件管理器进行文件选择并获得路径,android
  5. Android(安卓)用代码动态添加View(ViewGroup.addView()),并进行动
  6. Android札记【2】——系统的认识心中的Android[首届 Google 暑期
  7. android介绍以及学习方法
  8. android设备连接到pc进行应用程序调试
  9. Mars视频跟踪之android中的Thread

随机推荐

  1. android错误分析集锦
  2. Android实现书籍翻页效果--扩展版(转)
  3. Android android下的数据持久化和读取数
  4. Android(安卓)圆角图片的实现
  5. 【原创】Android 4.4前后版本读取图库图
  6. Android快速开发架构PlanA(一),船新版本的Ba
  7. 系出名门Android(1) - 在 Windows 下搭建
  8. Android公共库——图片缓存 网络缓存 下
  9. strut2服务器与android交互数据
  10. android调用输入软键盘回车键跟删除键