我只是想知道我是否正确地做到这一点;当手机正在睡觉,我编程的通知应用程序,它可以显示通知Android WakeLock和KeyGuard
- 禁用键盘保护锁
- AQUIRE唤醒锁
- 显示通知 超时和重新启用键盘保护和释放
- 设置闹钟wakelock是用户不触碰屏幕。 4.1用户触摸屏幕,我禁用计时器。别做什么了。完成并完成 4.2用户不要触摸屏幕,所以重新启用键盘锁并释放唤醒锁。电话再次睡
基本上我想知道点4.1最。取消警报的待定内容,什么也不做?还是应该以某种方式处理设置的键盘锁和唤醒锁?
我只是想知道我是否正确地做到这一点;当手机正在睡觉,我编程的通知应用程序,它可以显示通知Android WakeLock和KeyGuard
基本上我想知道点4.1最。取消警报的待定内容,什么也不做?还是应该以某种方式处理设置的键盘锁和唤醒锁?
锁是全局性的,当一个应用程序获取它时,它将关闭直到锁被释放。 您应该始终重新启用锁。否则系统不会去睡觉或锁在家中或任何其他应用程序
编辑:我真的不舒尔如何与键盘锁的工作原理:/
的技巧来实现自己的键盘锁,更换似乎是如下: -
在onCreate方法,您不要禁用键盘锁,但用户可以所以你需要小心意外触摸在这一点上与屏幕互动。
getWindow().addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED |
LayoutParams.FLAG_TURN_SCREEN_ON | LayoutParams.FLAG_KEEP_SCREEN_ON);
mKeyguardManager = (KeyguardManager)mContext.getSystemService(Context.KEYGUARD_SERVICE);
mKeyguardLock = mKeyguardManager.newKeyguardLock(TAG);
如果用户执行一些动作来表示他们要进行全面的互动,那么我们就可以禁用键盘锁,继续前进。
mKeyguardLock.disableKeyguard(); mKeyguardManager.exitKeyguardSecurely(null);
如果他们不这样做,那么由于键盘锁没有被禁用,你应该不需要做任何事情更多,只是完成您的活动
完蛋了,但我还在测试它。所以,我不是100%确定的。
我知道这个问题是旧的,但API清楚地表明,以编程方式尝试获取键盘锁解除已被弃用。
正确的战略是,在你的活动oncCreate方法,有:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
希望这会帮助别人。
确实在setContentView()之前添加了这段代码,除非它不会像按照那样工作。 – Harpreet 2013-03-20 04:48:49
http://stackoverflow.com/questions/3621599/wake-android-device-up/10179932#10179932 – Yar 2012-04-16 18:59:37