2014-01-11 141 views
1

我正在開發一個VOIP喜歡的應用程序,並且我想在手機屏幕鎖定時收到來電。 另外,如果我設置了手機的鎖定模式,我想在解鎖模式之前顯示活動。請你幫忙給我一些建議或例子嗎?Android:如何在屏幕鎖定時開始活動

非常感謝。

+0

底部隨機段落是什麼? –

回答

2

試試這個會開屏鎖定

Window wind; 
     wind = this.getWindow(); 
     wind.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD); 
     wind.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
+0

感謝您的快速回復,但它似乎不起作用。我從服務開始調用活動,然後在Activity.onStart()回調中添加標誌。但似乎Android在調用Activity.onStart()後立即調用Activity.onResume(),Activity.onPause(),Android.onStop()。我錯過了什麼?謝謝。 – user3051473

+0

試試這個代碼在onResume() – rajahsekar

+0

對不起,它仍然沒有工作。我錯過任何權限嗎?現在我添加權限DISABLE_KEYGUARD和WAKE_LOCK。他們夠了嗎?非常感謝。 – user3051473

1

謝謝,我是按照你的指示,它不解決我的問題,也如下:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

但活動的調用順序回調很奇怪,它會調用onStart(),onResume(),onPause(),onStop(),然後突然回想onStart(),onPause()。並且因爲我在onPause()完成()Activity時,所以我錯誤地認爲Activity已經恢復。再次感謝你的幫助。

+0

我知道這是遲了3年,但現在仍然適用於我!謝謝! – ZWis212

相關問題