我一直在嘗試使用FLAG_SHOW_WHEN_LOCKED和FLAG_DISMISS_KEYGUARD顯示活動,每當有人打開屏幕調用活動。它大部分時間運作良好,但有些情況會造成奇怪的行爲。發生這種情況時,該活動已經存在的和我發送一個意圖它已被移動後,回到了歷史堆棧,通過使用首頁按鈕。的Android FLAG_SHOW_WHEN_LOCKED當從歷史
首先,如果我在我的活動中按下主頁按鈕,然後關閉和打開屏幕,則活動預計將立即顯示。然而,顯示的卻是基本的android鎖屏。我的活動落後了。
最差的,有時,如果我觸摸主屏幕,然後關閉屏幕和,主屏幕覆蓋(所有APPLI標誌和窗口小部件),顯示與我在後臺活動!
的目的,我使用的每個屏幕被關閉,以laucn和召回活動時間:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(intent);
所以,看來,當我的行爲是在歷史堆棧,它有時不能正確得到回顧並繞過android鎖屏。我的意圖有什麼問題嗎?通過Intent.addFlags()
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
乾枯或使用getWindow().addFlags()
從您的活動:
不,我無法打開屏幕。因爲我的活動是在屏幕關閉時創建的,所以當屏幕打開時立即準備就緒。我正在做一些半秒內的工作,並加載webview。所以我無法讓用戶在網頁加載後打開屏幕後等待。 – Laetan
上:我試圖添加這些標誌,我甚至沒有工作。如果我的活動不在歷史堆棧頂部,android鎖定屏幕仍然顯示。 – Laetan