[Android][App不显示在最近使用过的应用程序列表中]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Android][App不显示在最近使用过的应用程序列表中]相关的知识,希望对你有一定的参考价值。

参考技术A 为什么想要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][App不显示在最近使用过的应用程序列表中]的主要内容,如果未能解决你的问题,请参考以下文章

app:srcCompat - 矢量绘图显示在设计预览中,但不显示在应用程序中

android studio中的Android Emulator正在运行但不显示App

如何在Android App中检测最近的可用纬度和经度

android开发里跳过的坑——GridView使用Glide加载图片不显示

Android Studio奇技淫巧

Android Studio App Inspector 不显示数据库