登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> SoftHub关联区 >> 主题: [目录未定]android app 不显示在进程中     [回主站]     [分站链接]
[目录未定]android app 不显示在进程中
clq
浏览(338) - 2021-07-04 20:50:09 发表 编辑

关键字: android_dev_self_book

[2021-07-05 21:46:33 最后更新]
[目录未定]android app 不显示在进程中

https://www.2cto.com/kf/201606/519729.html

APP划掉,那么这个APP就会被销毁。为了延长APP常驻时间,就希望隐藏APP,不让用户在最近使用过的应用程序列表中将APP销毁。但是这只是一个小手段,用户还是可以到系统设置的应用中销毁APP,不要妄想通过这个方法来保活APP.
2.例子解析

实现上面的内容只需要在AndroidManifest中的Activity标签中添加android:excludeFromRecents="true"。

---------------------------------------------------------------
android 10 下已验证通过。确实是可以的。另外,默认生成的 ac 是会被销毁的,也是可以加一个标志让其不销毁。其实有什么好销毁的,ios 就不会。
android 的官方也推荐显示视频的 ac 就当设置为旋转时不销毁。

例如

activity android:name=".MainActivity"
android:excludeFromRecents="true"


---------------------------------------------------------------
这时候可以启动一个 activity android:name=".Activity_frmMain" android:launchMode="singleInstance"
这样的 singleInstance 让任务管理器看到它。这时候,任务管理器划走这个 ac 的话就会会杀死整个进程了。至少 android 10 下是如此。
总的来说,安卓在这个进程管理上还是非常混乱的。各个版本的行为和限制也各不相同。总之这是让国内 app 开发者很头痛的事。




clq  2021-07-04 21:12:35 发表 编辑

参考 https://www.jianshu.com/p/83cb37f50e17

[Android][App不显示在最近使用过的应用程序列表中]
lgy_gg
0.312
2017.06.21 18:06:02
字数 731阅读 8,959
1.落笔缘由

为什么想要App不显示在最近使用过的应用程序列表中?我们知道如果在最近使用过的应用程序列表中将APP划掉,那么这个APP就会被销毁。为了延长APP常驻时间,就希望隐藏APP,不让用户在最近使用过的应用程序列表中将APP销毁。但是这只是一个小手段,用户还是可以到系统设置的应用中销毁APP,不要妄想通过这个方法来保活APP.
2.例子解析

实现上面的内容只需要在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.
最后展示一下什么是最近使用过的应用程序列表:
最近使用过的应用程序列表
3.总结

怎样防止App在后台运行,点击应用桌面图标重新启动?这个问题之前有碰到过,这篇文章有解释。本来打算解决上面“加了android:launchMode="singleInstance"后,当APP在后台运行,点击应用桌面图标的时候显示的不是APP进入后台时显示的界面”的问题,但是并没有用,这里记录一下,以后有时间再研究吧。
4.源码地址

http://download.csdn.net/detail/lgywsdy/9876908




总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1