Ⅰ [android][App不顯示在最近使用過的應用程序列表中]
為什麼想要App不顯示在最近使用過的應用程序列表中?我們知道如果在最近使用過的應用程序列表中將APP劃掉,那麼這個APP就會被銷毀。為了延長APP常駐時間,就希望隱藏APP,不讓用戶在最近使用過的應用程序列表中將APP銷毀。但是這只是一個小手段,用戶還是可以到系統設置的應用中銷毀APP,不要妄想通過這個方法來保活APP.
實現上面的內容只需要在AndroidManifest中的Activity標簽中添加android:excludeFromRecents="true"。
任務是否會在最近使用的應用程序的列表("最近的應用程序")中顯示。也就是,當這個活動是根活動的一個新任務,這個屬性決定了任務應不應該出現在列表中最近的應用程序。設置"true"如果這個任務應該被排除在名單,設置"false"如果它應該被包括。默認值為"false"。
經過測試,當在被LAUNCHER的Activity設置了android:excludeFromRecents="true",App不顯示在最近使用過的應用程序列表中。也就是如下設置
如果MainActivity是LAUNCHER的Activity,而SecondActivity是MainActivity里的一個Button被點擊後才啟動的,如果在注冊清單了給SecondActivity設置了android:excludeFromRecents="true",是無效的,如下設置
但是如果在注冊清單里的SecondActivity里設置了android:launchMode="singleInstance",那麼,當當前顯示的是SecondActivity的時候,App是不會顯示在最近使用過的應用程序列表中。
這也正好驗證了上面的一句話「當這個活動是根活動的一個新任務,這個屬性決定了任務應不應該出現在列表中最近的應用程序。」也就是說只有當這個Activity是處於任務棧根部的時候android:excludeFromRecents="true"才會起作用。但是,如果加了android:launchMode="singleInstance"當我們點擊桌面的APP圖標的時候,顯示的是MainActivity而不是SecondActivity.
最後展示一下什麼是最近使用過的應用程序列表:
怎樣防止App在後台運行,點擊應用桌面圖標重新啟動?這個問題之前有碰到過,這篇 文章 有解釋。本來打算解決上面「加了android:launchMode="singleInstance"後,當APP在後台運行,點擊應用桌面圖標的時候顯示的不是APP進入後台時顯示的界面」的問題,但是並沒有用,這里記錄一下,以後有時間再研究吧。
http://download.csdn.net/detail/lgywsdy/9876908
Ⅱ Android開發如何實現:在app1中點擊Button使正在運行的app2不在近期任務列表顯示 怎麼做
調用介面唄,好多實現方式,如果都是同一台手機,你可以使用aidl技術,也就像進程之間的通信。如果不在同一台手機,你可以通過網路技術,前提是後台得有處理介面。如果你都不想用,想簡單,那就通過本地文件進行操作。前提是android6之後,操作讀寫得申請動態許可權哦。方法多得是,看具體的業務需求了。