第一次執行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() 內

加入已下程式碼即可

<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();
    }
}

資料來源參考: https://code.google.com/p/android/issues/detail?id=2373

About: Kaito


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料