现阶段的一键锁屏貌似都是在2.3的系统使用没有问题,但是碰上4.0.4以上的系统,问题就来了,屏幕竟然关了后自动亮起来,苦思后,毅然放弃其固有模式,不再使用激活设备的方式,也不再获取其admin的权限,而是使用生成一个activity的方式,关闭屏幕亮度,然后使用线程阻塞5秒,从而达到一样的效果:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness=0;
getWindow().setAttributes(params);
Thread thread = new Thread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
try {
Thread.currentThread().sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finish();
}
});
thread.start();
区区几行代码,省却各种头痛!!!!