在我的應用程序開始我有3個活動:Android的後退按鈕可能發生不可預知的活動從意向
MainActivity
,這是啓動應用程序SettingsActivity
,這是從開始時出現的主屏幕MainActivity
DownloadActivity
,它從SettingsActivity
開始。
DownloadActivity
提供了一個供用戶下載的應用內容列表。實際下載由Android的DownloadManager
處理,它顯示正在進行下載的通知。點擊該通知將觸發一個意圖,這將使用戶DownloadActivity
。
現在,如果我做到以下幾點:
啓動應用程序,去
SettingsActivity
,從有到DownloadActivity
。開始下載,然後回撥兩次以返回
MainActivity
。拉下通知並點擊下載通知,這會將我帶回
DownloadActivity
。回擊。
重複步驟3和4兩次。
我第一次執行步驟4,後退按鈕會帶我直接從DownloadActivity
到MainActivity
- 最後一個活動的應用程式顯示我打的通知之前,這是我想要的。
然而,第二次後退按鈕將在當前屏幕下方顯示第二個DownloadActivity
,我需要第二次返回以返回MainActivity
。
第三次,有4個DownloadActivity
實例的堆棧,要求按四次Back
按鈕才能返回到MainActivity
。
,處理自來水的代碼如下:(activity
是賴以起家的下載活動的引用)
Intent downloadIntent = new Intent(activity.getApplicationContext(), downloadActivity.class);
downloadIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
activity.getApplicationContext().startActivity(downloadIntent);
是什麼原因造成這種奇怪的行爲,並哪能使後退按鈕始終返回到應用程序顯示的最後一個活動?