1. 程式人生 > >Apk通過安裝器安裝並直接開啟應用與點選icon開啟應用的區別

Apk通過安裝器安裝並直接開啟應用與點選icon開啟應用的區別

最近在開發過程中碰到了一個問題:

apk通過安裝器安裝並直接開啟,進入介面後按Home回到手機桌面,再點選應用icon開啟app時,並不是回到了之前的頁面,而是像第一次啟動應用那樣,從導航頁啟動、再到主介面。而當你按返回鍵退出時,又會發現,你又回到了之前Home鍵退到後臺的頁面。

原因:通過安裝器啟動應用時Intent沒有帶Category,而我們點選icon啟動應用時是帶了Category。

可用以下方法解決:

在app的啟動activity的onCreate方法里加入重複判斷即可。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState); if (!this.isTaskRoot()) { Intent intent = getIntent(); String action = intent.getAction(); if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) { finish();
return; } } setContentView(R.layout.activity_main); }
View Code