我的应用设置闹钟。在等待闹钟时,我的手机会关闭屏幕。当闹钟响起时,屏幕很暗,所以我按下电源键,屏幕亮起,但我现在必须触摸锁定按钮才能访问应用界面。我宁愿在用户响应闹钟时关闭Lock,所以我尝试使用电源管理器。警报接收器启动一项新活动,因此我在onCreate中为此活动初始化了电源管理器。然而,这会导致力量关闭错误。我将电源管理器称为如下
PowerManager pm = (PowerManager)cText.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK , TAG);
wl.acquire();
请提出任何建议。
答案 0 :(得分:4)
是否在清单中添加了电源管理器的使用权限?
答案 1 :(得分:3)
由于提出问题的人表示他“必须触摸锁定”按钮,我认为他正在谈论钥匙保护。 (图案,Pin等)。您无法使用PowerManager API禁用此功能。相反,你应该调整KeyGuard
KeyguardManager keyguardManager =
(KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock lock =
keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
据我所知,这是禁用屏幕锁定的正确方法。
您还需要此权限
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
答案 2 :(得分:0)
你可以在应用程序上下文中使用wl,这样一旦它的initlize并设置回到那个,之后当你释放它时你将设置null并再次检查它是否为null而不是init再次将其视为原样。< / p>