Android Activity Task taskAffinity launchMode 之间的关系
来源:互联网 发布:中国基尼系数算法 编辑:程序博客网 时间:2024/05/29 15:00
写这篇博客源于今天碰到的一个bug,于此记录下来并分享给网友们。
问题大概描述是设定一个倒计时,时间到了后,在页面显示一个activity,点击finish掉该activity。但是发现设定完倒计时后,进入Home,锁屏等待时间。
时间到,finish掉后问题来了,按理应该显示的是Home,结果显示的是设定倒计时的页面,很不合理。
先说解决方法,taskAffinity设置为空同时launchmode 为singletask。关于这个变量如果不自定义的话默认为应用包名。
分析:taskAffinity设置为空同时launchmode 为singletask, 系统首先检查是否有taskAffinity值相同的task,没有就新建一个,而且这个task只有一个元素。这样这个task就不同于应用其他activity所在的task,finish掉后,该task应该也会被销毁。
关键处来了,这个时候android系统直接切刀home所在的task,显示这个task的栈顶activity,没有看源码,不清楚android如何管理task,推测可能home所在的task的taskAffinity就是为空,所以返回了home。真正原因需要去阅读源码了查看android如何管理task的
0 0
- Android Activity Task taskAffinity launchMode 之间的关系
- Task、Back stack、taskAffinity、Activity启动模式之间的关系
- android task栈和activity的关系(Task/launchMode)
- Activity的LaunchMode与TaskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity
- Activity的LaunchMode和taskAffinity(经典)
- [转]Activity的LaunchMode和taskAffinity
- 【原】Activity的LaunchMode和taskAffinity
- iOS 面试中的高频题目
- uva 1333 - Model Rocket Height(几何)
- POJ-1797 Heavy Transportation
- CALayer的使用(圆形头像 锚点 边框 阴影 形变 隐式动画 )
- Cocos2dx中Android部分的c++和java实现相互调用(高级篇)
- Android Activity Task taskAffinity launchMode 之间的关系
- uva 10794 - The Deadly Olympic Returns!!!(几何)
- 门禁系统(ccf真题)
- Java并发:Lock
- Android Stuido中SVN的设置
- nyoj 218 Dinner【简单字符串处理】
- 编码格式设置之tomcat&mysql
- iOS SDK详解之UITabbar(仿新浪微博的Demo)
- java IO流分析