我重新啓動了我的HomeActivity並在意圖中設置了一個額外的「relaunchstatus」。在Activity的onCreate()方法中,我檢查這個值,如果存在,顯示一些警報。getIntent()。removeExtra()在Activity中不適用於android:launchmode =「singleTask」?
這項活動的launchmode是android:launchmode="singleTask"
。
問題而來的用戶看到此警報並關閉它,並再次按後退按鈕關閉該活動後。現在,如果他通過長按「主頁」按鈕從最近的應用列表中啓動它,則會使用同樣的具有額外「重新啓動狀態」的意圖,並再次發出警報。
這隻要不斷爲用戶來自於最近的項目(OK,可能是近期推出的應用程序使用其中有額外的「relaunchstatus」在其設置的目的相同)。
所以我試着通過使用getIntent()。removeExtra(「relaunchstatus」)處理BACK_KEY按鈕來消除這個額外的問題,這個額外的存在仍然存在於Recent items的新發布中。
然而,這是不是這樣的,如果我開始從啓動菜單圖標的應用程序。
更新:所以我猜活動的getIntent()會給你意向的副本啓動它,所以它不喜歡同一個對象的引用上的變化將是永久性的。如果是這樣的話,那麼我們就需要從當前設備的GUI做到這一點(如HTC Sense的等),其最近的項目是結合是的意圖,這是不可能的?
一種方法是設置setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS),而再次重新啓動它。所以對於這種情況它不會出現在最近的菜單中,還需要其他方式嗎? – Pritam