2012-11-20 60 views
0

我試圖禁用屏幕鎖定。我希望屏幕在超時後關閉,但在觸摸時再次使用我的應用繼續。Dissable_keyGuard標誌不起作用

由於keywardlock已過時,我試圖的onCreate()執行以下操作:

final Window win = getWindow(); 
    win.setFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED, 
      WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 

以防萬一,我加入清單中的以下的(這是需要的?):

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> 
<uses-permission android:name="android.permission.FLAG_SHOW_WHEN_LOCKED" /> 

仍然,我平常的超時後,屏幕被鎖定...

我在做什麼錯? 謝謝!

回答

1

SetFlags需要標記和掩碼,你不這樣使用它。最簡單的事情就是使用幫助程序方法addFlags我正在使用下面的代碼。

Window window = getWindow(); 
    window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
+0

我明白我在做什麼錯了,謝謝。但是,您的建議只能部分工作。雖然我不需要用您的建議解鎖屏幕的手勢,但我仍然需要按手機中間的最下面的按鈕。我試着添加FLAG_KEEP_SCREEN_ON,但是屏幕並沒有關閉。我想讓屏幕關閉,但在觸摸時醒來(而不是中間的底部按鈕)。也許這是不可能的...? –

+0

我不相信這是可能的。觸摸傳感器僅在屏幕上電時才加電。我必須點擊一個按鈕才能喚醒,但我直接回到我的應用程序。如果你確實知道如何去做,我想知道...... – Ifor

+0

我明白了。與此相關的是部分喚醒鎖。我無法使它在Galaxy Note(ICS)上工作,只有完整的wakelock似乎有效。 –

相關問題