2011-06-04 133 views
3

我的应用程序在手机进入睡眠期间后触发闹钟。当触发警报时,我希望滑动锁被覆盖,以便当前视图立即可见。在触发警报时,代码开始运行(激活相机),但屏幕保持空白。如果我按下电源键,然后滑动锁定,实时相机屏幕就会出现。我打电话给下面的代码尝试唤醒设备并显示屏幕,但它似乎没有任何区别。我尝试的最后一件事是添加userActivity调用,现在我已经耗尽了一些东西来尝试,并希望有人有一些如何做到这一点的经验。关闭睡眠后关闭屏幕并在屏幕上打开

public void setWakeLock(WakeLock wakeLock) { 
     PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 

     wakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | 
         PowerManager.ACQUIRE_CAUSES_WAKEUP, "MyWakeLock"); 
     if ((wakeLock != null) &&   // we have a WakeLock 
       (wakeLock.isHeld() == false)){ 
     wakeLock.acquire(); 
     pm.userActivity(SystemClock.uptimeMillis(), true); 

     } 
    } 

回答

3

检查android.app.KeyguardManager.KeyguardLock类。你需要从那里调用disableKeyguard()。

+0

谢谢 - 做到了。 – ron 2011-06-04 09:22:33