我有一個應用程序,我用launchMode =「singleTask」保留了所有的活動。我更喜歡做旗幟湯(混合組合以獲得所需效果),並基於接收onNewIntent調用。從通知Android的恢復活動堆棧完全像歷史選擇一樣
但是,我有以下問題。
如果我啓動應用程序,那麼R活動就會開始(有啓動器,名冊活動)。
然後我啓動活動S.
(1)如果我按home鍵,我把應用程序的背景,然後我按歷史按鈕(從右端的按鈕上的Nexus 4,我想它就是這樣調用的)我會按照我按下home按鈕之後離開它的相同狀態顯示S活動。但是,如果我按主頁按鈕並將應用程序置於後臺,然後單擊通知以啓動我的應用程序,則會啓動R活動,併爲其調用onNewIntent。
基本上我想在第二種情況下的同樣的行爲也。我點擊通知時推出這樣的應用程序:
Intent rosterIntent = new Intent(this, RosterActivity.class);
rosterIntent.addCategory(Intent.CATEGORY_DEFAULT);
rosterIntent.setAction(Intent.ACTION_MAIN);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 2,
rosterIntent, 0);
這似乎這樣就足以重新啓動在我離開它在相同狀態下的應用,但它不工作。也許是因爲我有我的所有活動singleTask ...
有人可以告訴我,如果我需要添加更多的標誌給我的意圖,或待定的意圖獲得我想要的?
問候,
注:看來,點擊啓動器圖標後,該應用程序在後臺有一個像(2),歷史(1),所以只選擇是,我想要的行爲相同的行爲。
發佈您的清單。一般來說,使用特殊的啓動模式是一個非常糟糕的主意。一旦我看到你的清單,我可以告訴你更多。 –