Android记录12--控制屏幕常亮不锁屏
2013年12月9日 工作记录
小巫碰到一个需求,需要控制屏幕常量并且不会锁屏,上网找到了的方法都是无效的或者是被Android抛弃的以前的方式;例如下面这些方法:
// Android屏幕常亮/点亮
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(
PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "Lock");
wakeLock.acquire();
// 释放锁的方法
wakeLock.release();
// Android屏幕解锁和锁定
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("Lock");
keyguardLock.disableKeyguard();
这些方法我在程序中试过,似乎没有任何效果,所以我去Android Developer官网看了一下,发现以下方式可以生效:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);