使用Power Manager

时间:2011-01-24 12:40:21

标签: java android

我的应用设置闹钟。在等待闹钟时,我的手机会关闭屏幕。当闹钟响起时,屏幕很暗,所以我按下电源键,屏幕亮起,但我现在必须触摸锁定按钮才能访问应用界面。我宁愿在用户响应闹钟时关闭Lock,所以我尝试使用电源管理器。警报接收器启动一项新活动,因此我在onCreate中为此活动初始化了电源管理器。然而,这会导致力量关闭错误。我将电源管理器称为如下

   PowerManager pm = (PowerManager)cText.getSystemService(Context.POWER_SERVICE);
   PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK , TAG);
   wl.acquire();

请提出任何建议。

3 个答案:

答案 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>