若是本文幫助到你,本人不勝榮幸,若是浪費了你的時間,本人深感抱歉。 但願用最簡單的大白話來幫助那些像我同樣的人。若是有什麼錯誤,請必定指出,以避免誤導你們、也誤導我。 本文來自:www.jianshu.com/u/320f9e8f7… 感謝您的關注。android
用過微信小程序的人應該均可以發現,當咱們打開一個小程序以後,在近期任務列表裏面就會新建立一個頁面(MIUI8 好像沒有),感受這個功能還挺有意思的。 研究一下,發現還挺簡單的。 先上一個效果圖:git
有兩種方式能夠實現效果github
即頁面跳轉的時候增長 Flag,小程序
Intent intent = new Intent(this, Main2Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);
複製代碼
添加兩個 Flag 便可,注意關閉的時候要使用:微信小程序
finishAndRemoveTask();
複製代碼
**FLAG_ACTIVITY_NEW_DOCUMENT:**此標誌用於將文檔打開到一個 基於此意圖的新任務中; **FLAG_ACTIVITY_MULTIPLE_TASK:**此標誌用於建立新任務並將活動導入其中。微信
注意:使用這種方式,必須具備在清單文件中設置的 android:launchMode="standard" 屬性值(默認就是這個屬性)this
在要跳轉的 Activit 配置spa
<activity
android:name=".Main3Activity"
android:documentLaunchMode="intoExisting"
android:excludeFromRecents="true"
android:maxRecents="3"/>
複製代碼
AndroidManifest.xml 中的屬性:code
**intoExisting:**若是以前已經打開過,則會打開以前的(相似於 Activity 的 singleTask); **always:**無論以前有沒有打開,都新建立一個(相似於 Activity 的 standard); **none:**不會在任務列表建立新的窗口,依舊顯示單個任務; **never:**不會在任務列表建立新的窗口,依舊顯示單個任務,設置此值會替代 FLAG_ACTIVITY_NEW_DOCUMENT 和 FLAG_ACTIVITY_MULTIPLE_TASK 標誌的行爲(若是在 Intent 中設置了其中一個標誌)。cdn
注:對於除 none 和 never 之外的值,必須使用 launchMode="standard" 定義 Activity。若是未指定此屬性,則使用 documentLaunchMode="none"。
默認爲 false 。 設置爲 true 時,只要你離開了這個頁面,它就會從最近任務列表裏移除掉。
設置爲整型值,設置應用可以包括在概覽屏幕中的最大任務數。默認值爲 16。達到最大任務數後,最近最少使用的任務將從概覽屏幕中移除。 android:maxRecents 的最大值爲 50(內存不足的設備上爲 25);小於 1 的值無效。
項目在這裏:github.com/Wing-Li/App…