欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android WakeLock使用方法代码实例

程序员文章站 2023-11-12 10:13:10
android中提供了一个名为wakelock的类在android.os.powermanager.wakelock中,从名字来看wakelock是唤醒锁的意思,它可以控制...
android中提供了一个名为wakelock的类在android.os.powermanager.wakelock中,从名字来看wakelock是唤醒锁的意思,它可以控制屏幕的背光开关,所以在电源管理类。
  wakelock实例化方法比较简单,因为是系统的远程服务,通过下面的代码来构造
复制代码 代码如下:

  powermanager pm = (powermanager) getsystemservice(context.power_service);
  powermanager.wakelock wl = pm.newwakelock(powermanager.screen_dim_wake_lock, "android123"); //最后一个参数为实例名,可以换成其他的。
  wl.acquire();  //唤醒点亮屏幕
  //这个期间屏幕将点亮
  wl.release(); //恢复屏幕到黑暗

  当然android考虑到安全并不是说开发者有了权限,就可以随意的控制屏幕的背光显示或无,只有通过acquire点亮的背光才能使用release让其关闭背光,如果直接调用release方法关闭屏幕将会产生一个异常。
  从android 2.1 api level7开始增加了一个判断屏幕是否处于点亮状态可以使用public boolean isscreenon ()这个方法,代码为
复制代码 代码如下:

  powermanager pm = (powermanager) getsystemservice(context.power_service);
  boolean isscreenon = pm.isscreenon();

  而对于android 2.2 api level为8时增加了一个reboot(),可以重启手机进入恢复模式,同时你需要申请权限 来实现,不过android开发网不保证该方法在所有固件上有效,部分厂商考虑到安全并没有开发这个重启方法。