有沒有辦法在應用程序之外創建某種彈出式窗口,例如警報對話框?這個問題的背景是我需要在推送通知的情況下向用戶顯示某些內容。基本上,用戶會收到一些消息,即使應用程序當前未打開,應用程序也會收到該消息,並且用戶的任務欄中會顯示通知。如果用戶在任務欄中打開通知,我希望彈出窗口完全獨立於應用程序。應用程序之外的警報對話框(不在活動中)
唯一的解決辦法,我發現到目前爲止是調用與Theme.Dialog設置創建一個警告對話框的活動。這個解決方案的問題是,如果應用程序已經打開,Activity將被添加到Activity Stack中。所以我得到了不一致的行爲,因爲如果應用程序已關閉,那麼彈出窗口將按我的意願工作,並將顯示在用戶當前所在的任何應用程序中。但是,如果應用程序已打開但尚未處於焦點狀態,那麼焦點將切換到我的應用程序,然後顯示對話框。
理想情況下,我想,如果他們選擇彈出顯示獨立的應用程序,用一個按鈕來將用戶重定向到應用程序,或者乾脆關閉通知,並繼續不管他們正在做的。
任何人有任何想法?
謝謝,終於得到了這個工作。我的警報活動被配置爲一個Theme.Dialog,並使用launchMode =「singleInstance」。我不確定爲什麼其他launchModes不起作用,因爲只要我在意圖上設置了FLAG_ACTIVITY_NEW_TASK,它就應該可以在任何模式下工作,但事實並非如此。 – mnemy 2011-05-24 21:52:32