我從我的Widget開始一個Activity,它應該啓動一個特殊的視圖。
但是,如果應用程序已經在運行(而不是後退按鈕),則Android會激活上次顯示的活動。
有沒有任何標誌或其他方法可以避免這種行爲?
關閉以前的活動在我的應用程序中不會有問題,沒有用戶輸入會丟失。
我嘗試了onStop()中的finish()方法,但在調用子活動(startActivityForResult)時也調用onStop,所以從那裏返回時什麼都不返回 - 應用程序將被關閉。如何在應用程序運行時執行活動?
1
A
回答
0
嘗試android:clearTaskOnLaunch="true"
在包含「特殊視圖」的活動的清單中。
1
我也有這個問題,並通過在我的每個活動聲明中使用android:launchMode="singleInstance"
來解決它。
0
與FLAG_ACTIVITY_NEW_TASK和主要活動通話意圖增加:
機器人:launchMode = 「singleTask」 機器人:clearTaskOnLaunch = 「真」
在其他補充:
android:finishOnTaskLaunch="true"
這種方式可以在後臺返回應用程序時關閉任何活動。
不幸的是,這是行不通的。我甚至嘗試使用不同的「taskAffinity」,finishOnTaskLaunch,allowTaskReparenting,FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_RESET_TASK_IF_NEEDED。 (當然,FLAG_ACTIVITY_NEW_TASK是設置的,因爲應用程序可能沒有運行。) – 2010-01-22 13:01:19