2012-01-20 40 views
4

我們的應用程序有2個活動 - 一個MainActivity(與啓動器圖標相關)和一個​​用於處理URI事件。Android:意外的最近的應用程序行爲

我看到一個問題,與這種情況下,用我的應用程序一開始退出:

  1. 打開瀏覽器,點擊一個URI來啓動​​。

  2. ​​退出(調用finish()),用戶返回瀏覽器。

  3. 用戶提出最近的應用程序(長按主頁),並選擇我的應用程序。

而是開始MainActivity,我看到​​正在啓動與代表一個URI點擊(android.intent.action.VIEW)相同的意圖。

現在不是第3步,如果用戶要通過其主屏幕圖標打開我的應用程序,我會回到MainActivity,如預期的那樣。

如何獲得步驟3以啓動MainActivity

+0

我不知道是肯定的,但我不認爲你可以把它指向其他活動,而在auxActivity中沒有某種邏輯,這在某種程度上可以確定MainActivity是應該啓動的,並且可以讓用戶沿着該Activity進行操作。我認爲你可以在啓動auxActivity的時候使用某種清單屬性和/或意圖標誌,以使其不會出現在最近使用的應用程序列表中(但我不知道它是什麼我的頭) – FoamyGuy

回答

1

基於Tim的建議,關於添加

android:excludeFromRecents="true" 

要在清單中的auxActivity上市呢?這有幫助嗎?

1

不知道這是否會工作,但你也可以嘗試:

機器人:noHistory =「真」

無論是否活動應該從 除去活動堆棧和成品(它的finish()方法被調用) 用戶導航離開它,它不再在屏幕上可見 - 如果它應該完成,則爲「true」,否則爲「false」。默認值 是「false」。值爲「true」意味着該活動不會離開歷史追蹤。它不會保留在 任務的活動堆棧中,因此用戶將無法返回。此屬性是 在API級別推出3

2

把這個AuxActivity的onCreate:

if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) > 0) { 
    // do something different e.g. launch MainActivity 
}