Android 應用壓到後臺,點擊應用圖標,會再次啓動應用

解決方法,在app的啓動頁面例如SplashActivity中添加

if (!isTaskRoot()) {
    finish();
    return;
}

manifest.xml 中添加  android:alwaysRetainTaskState="true"

 這個屬性用來標記應用的task是否保持原來的狀態,“true”表示總是保持,“false”表示不能夠保證,默認爲“false”。此屬性只對task的根Activity起作用,其他的Activity都會被忽略。另外,如果有android:launchMode="singleTask" ,則把這句刪除

 <activity android:name=".splash.SplashActivity"
            android:theme="@style/splashTheme"
            android:alwaysRetainTaskState="true"
            android:screenOrientation="portrait" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

</activity>

當我們按HOME鍵返回桌面,任務棧的狀態被保留着,

當我們點擊應用圖標打開再次應用時,系統會判斷是否已經存在以Activity爲的棧,

如果有,那麼就直接使用該棧,並顯示棧頂的Activity.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章