如何從最近的應用程序列表中刪除應用程我想Android不會讓人們這樣做,因為他們認為他們有完美的任務/應用程序處理。但是,在我的情況下,我真的需要這樣做。我有一個活動A作為我的申請的入口點。在該活動中,它讀取偏好并決定開始哪個活動,比如B或C.之后,它完成自己。因此,活動A永遠不會出現在用戶身上。我的應用程序將東西存儲在SD卡上,并不斷讀取它。因此,當卸載SD卡時,我需要向用戶顯示sdcard不可用的消息,而不是打開B或C.我在A中設置一個檢查以在sdcard不可用時顯示該消息。顯示該消息時,A不會嘗試啟動B或C.如果用戶只從應用程序啟動器輸入我的應用程序,事情就會完美。但是,我發現用戶也可以通過長按home進入我的應用程序并從最近的應用程序列表中選擇它,如果他最近打開它。當用戶這樣做時,它跳過A并直接轉到B或C.我沒有檢查它們,因此在我嘗試訪問sdcard時拋出異常,并彈出強制關閉對話框。我可以簡單地將支票移到B和C來解決這個問題。但是在未來,從A開始的活動數量將會增加。如果有6個,我需要將此支票復制到6個地方。毋庸置疑,這看起來非常難看,而且是一場維護噩夢。因此,最好的解決方案應該是在卸載SD卡時從最近的應用程序列表中刪除我的應用程序。但是,我找不到如何做到這一點。即使終止進程或使用ActivityManager.restartPackage,它仍會出現在列表中。誰能告訴我如何從列表中刪除它?
3 回答

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
嘗試
<activity android:name=".MainActivity" android:excludeFromRecents="true" ...
在你AndroidManifest.xml
的活動宣言中。

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
其他屬性可以幫助您的活動與同一包中的其他活動隔離。
<activity
android:name=".aActivity"
android:excludeFromRecents="true"
android:taskAffinity=""
android:launchMode="singleInstance">
- 3 回答
- 0 關注
- 519 瀏覽
添加回答
舉報
0/150
提交
取消