Android Finish后,最近运行列表中不显示Finish掉的Activity

 
当应用被Finish掉的时候,最近运行列表中不再显示被Finish掉的Activity,主要对Manifest 清单文件属性的配置
上图:


图中的图中红色框中的新Activity是被Finish掉的, 使其不在最近使用列表中显示


  
  
作者:吴晶 链接:https://www.zhihu.com/question/33449597/answer/56595478 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这个只要给Activity设置“android:excludeFromRecents=true”即可,官方的解释如下:
android:excludeFromRecentsWhether or not the task initiated by this activity should be excluded from the list of recently used applications, the overview screen. That is, when this activity is the root activity of a new task, this attribute determines whether the task should not appear in the list of recent apps. Set "true" if the task should be excluded from the list; set "false" if it should be included. The default value is "false".

如果设置为true,那么这个Activity将不会出现在最近任务列表中,如果这个Activity是整个Task的根Activity,整个Task将不会出现在最近任务列表中。 同样,也可以通过Intent的启动,并设置 Flag: “FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS”,Flag 值为 “0x00800000”,参考 Intent | Android Developers

在退出哪儿App时候,查看一下 ActivityManager 的 log,如下:
I/ActivityManager﹕ START u0 {flg=0x14818000 cmp=com.Qunar/com.mqunar.atom.alexhome.ui.activity.MainActivity (has extras)}

可见,在退出的时候,启动了一个Activity,注意这里的 flg=0x14818000,可见 “FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS” 的 flag 被设置了。也就是启动了一个不显示在最近任务列表中的新Activity。这就达到了那个退出App,不显示在最近任务列表的效果。

属性解析:
使应用信息不在运行列表中显示的方法需要修改配置文件中activity标签的两个值
<span style="font-size:14px;">
android:noHistory="true"
android:excludeFromRecents="true">
</span>
将这两个值置为true
android:noHistory
这个属性用于设置在用户离开该Activity,并且它在屏幕上不再可见的时候,它是否应该从Activity的堆栈被删除。
如果设置了true,则要删除,否则不删除。默认值是false。
如果设置为true,则意味着Activity不会保留历史轨迹。也就是说,它不会保留在任务的Activity堆栈中,因此用户
不能够在返回到这个Activity。 这个属性在API Level 3中被引入。
android:excledeFromRecents
这属性用于设置由该 Activity所启动的任务是否应该被排除在最近使用的应用程序列表之外。
也就是说,当这个 Activity是一个新任务的根节点时,这个属性决定了这个任务适应要显示在用户
最近使用的应用程序列表中。如果设置为 true,则这个任务会被排除在列表之外,如何设置为 false,则应该包含
在最近使用的应用列表中。默认值是 false。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值