为了账号安全,请及时绑定邮箱和手机立即绑定

如何从最近的应用程序列表中删除应用程

如何从最近的应用程序列表中删除应用程

DIEA 2019-08-19 14:09:36
如何从最近的应用程序列表中删除应用程我想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的活动宣言中。


查看完整回答
反对 回复 2019-08-19
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

其他属性可以帮助您的活动与同一包中的其他活动隔离。


<activity 

android:name=".aActivity"

android:excludeFromRecents="true"

android:taskAffinity=""

android:launchMode="singleInstance">


查看完整回答
反对 回复 2019-08-19
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

只需android:excludeFromRecents="true"在清单文件中添加您的活动标签即可


查看完整回答
反对 回复 2019-08-19
  • 3 回答
  • 0 关注
  • 499 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信