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开发网不保证该方法在所有固件上有效,部分厂商考虑到安全并没有开发这个重启方法。
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开发网不保证该方法在所有固件上有效,部分厂商考虑到安全并没有开发这个重启方法。