APK安装成功后点击"打开",按Home键,在桌面点击图标后应用重启
转载:http://blog.csdn.net/kepoon/article/details/7468688
问题:
安装系统SD卡里面的apk或者原有的程序更新版本的时候,会遇到升级安装成功之后的一个选择——“打开”和“完成”,点击完成没有问题,但是,如果点击了"打开",然后按Home键,从应用程序列表里面选择应用程序图标进入,这个时候就会重新启动了一个应用程序,之后的操作就会出现混乱等问题。
分析:
刚开始我还以为是在程序更新的时候导致的,可经过后来一步一步缩小范围,发现只要是点击了“打开”都会出现问题,再测试了一下新浪微博、QQ,发现他们也存在这个问题。为何会出现这种情况呢? 原因是,第一个启动的Activity的launchMode不是singleTop的,在安装完成点击“打开”的时候不会去清理一下Activity的管理队列,那么点击“打开”就把新开的Activity放在原来队列的后面,因此,就会出现上面的问题。
解决:
把第一个启动的Avctivity的launchMode改成singleTop的,但是要注意:改成了singleTop之后就不能关掉,否则就不会生效。那这样是不是不好呢?可以在你所有的应用程序之前加一个没有界面的Activity专门解决这个问题。
当然,也可以尝试监听应用程序安装完成的事件,在那里把队列彻底干掉。
根本上还是android的机制问题,像新浪微博、QQ都没有解决这个问题,不一定是解决不了,有可能是“就那样去吧,这就是android”。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?