Android 按 home 鍵,每次都會重新啟動 APP,無法存活 MainActivity

今天遇到一個問題:當(dāng)首次安裝 APP,完成時直接點擊打開會出現(xiàn)一種情況:按 home 鍵返回桌面,再點擊 APP 圖標(biāo),發(fā)現(xiàn) APP 重啟并回到首頁。再次按 home 鍵返回桌面,點擊 APP 圖標(biāo),依然是重啟并回到首頁。當(dāng)強制殺掉后臺進程,或者一直按返回直到 APP 正常退出,此問題消失。

在第一次安裝后,Activity 管理棧似乎對進入的 Activity 不做任何判斷與標(biāo)記(是否是棧頂?shù)腁ctivity),每次都會入棧,在將棧清空后又恢復(fù)正常(就是 Task 對 Activity 做記錄了,哪個處于棧頂,是否在棧里等)。

解決辦法:在啟動頁 Activity 的 onCreate 方法中的 super.onCreate 后面加入以下代碼

if (!this.isTaskRoot()) {
    Intent mainIntent = getIntent();
    String action = mainIntent.getAction();
    if (mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {
        finish();
        return;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容