了解wakelock唤醒锁的使用,推荐http://blog.csdn.net/ryantang03/article/details/8628753
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock sCpuWakeLock sCpuWakeLock = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE, "AlarmClock");
sCpuWakeLock.acquire();
经测试,很多机型在使用以上代码后,会屏幕唤醒自动解锁,但是也有没有自动解锁的,比方说一个闹钟应用,闹铃响起,点亮屏幕弹出页面,你希望用户点击小睡时进入某个页面,但是在某些机器上发现,点击小睡,却是锁屏页面,然后解锁后,进入了你想要打开的页面。
其实解锁也很简单,了解一下KeyguardManager锁屏管理的使用http://blog.csdn.net/eyu8874521/article/details/8477724
KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock");
kl.disableKeyguard();// 解锁
最后得到你想要的结果。