2012-02-14 72 views
2

我目前正在制定計時器項目。基本上,它很簡單:用戶輸入時間,時間用完,用戶獲得全屏通知(帶有文本視圖和聲音的簡單全屏活動)。所述通知由後臺服務調用,以確保即使在用戶做其他事情時也調用該通知。以編程方式禁用android非安全鍵盤鎖

現在,一切都運行完美,直到屏幕鎖定。我無法解開任何我嘗試的東西。

最後,我設置下列標誌(該通知的活動,這是被稱爲內):

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.timer); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
     ... 

但即使這一說法,鍵盤鎖將不會禁用和通知將不會顯示。唯一發生的事情是屏幕打開。

我在這裏錯過了什麼嗎?

P.S .:我已經嘗試使用喚醒鎖,這也沒有工作。

回答

1

希望你解決了你的答案,但爲了其他可能遇到你的情況,嘗試在setContentView()方法之後設置標誌,並使用setFlags()方法。

這就是我在我的應用程序中所做的工作。