第一次執行APP,按Home後,無法回到上次狀態
第一次執行APP,按Home後,無法回到上次狀態,再回到APP總是啟動 MainActivity
APP結構如下:
APP共有 Activity A 與 Activity B
點 A 的 item 會啟動 Activity B
問題發生情境:
由 google 商店下載,或者是手動安裝 apk 的 app
第一次啟動 APP 後,點選 Activity A 中的 item 啟動了 Activity B
此時按 Home 鍵離開 APP
再次點選 APP 後,卻出現 Activity A
正常的情況下:
當點選 Activity A 的 item 並啟動 Activity B 以後,接著按下 Home 鍵會離開 APP 並回到手機桌面
當再次點選 APP 時,理論上應該要出現 Activity B
當問題發生時
但是此時點選 Back 鍵時,又會跳出 Activity B
再點一次 Back ,就會跳回Activity A
再點一次 Back,就跳回手機桌面
在這之後,一切都開始正常運作了
也就是問題情境只會發生在剛下載 APP 後的第一次執行
解法就是
在 Activity A 的 onCreate() 內
加入已下程式碼即可
[sourcecode language=”JAVA”]
<pre>if (!isTaskRoot()) {
final Intent intent = getIntent();
final String intentAction = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) &&
intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) {
finish();
}
}
[/sourcecode]
資料來源參考: https://code.google.com/p/android/issues/detail?id=2373