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(),可以重启手机进入恢复模式,同时你需要申请权限 <uses-permission android:name="android.permission.REBOOT"></uses-permission> 来实现,不过Android开发网不保证该方法在所有固件上有效,部分厂商考虑到安全并没有开发这个重启方法。
RSS