博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android:taskAffinity与android:finishOnTaskLaunch之我见
阅读量:6315 次
发布时间:2019-06-22

本文共 776 字,大约阅读时间需要 2 分钟。

  最近做一个打电话相关的小app,用到了2个平时了解得少的属性,也是看到一个国外相同项目这个做的,开始是直接复制过来的,没去详细了解,项目中期时,随手删了2行配置的属性,由于平时基本没用到,所以以为用处不大,结果出了写小问题,这里记录一下。不废话了,直接贴代码和解释吧,以下是我测试后的个人理解。

 

 

注意:

  以上2个activity不在同一个task中,如果先打开CallScreenActivity再打开ContactSettingActivity,这时当ContactSettingActivity执行onDestroy后,会返回到跟它相同taskAffinity的activity中,而不是返回到CallScreenActivity界面,只有在这个taskAffinity的栈中没有任何activity时,才会再次返回到上一个taskAffinity中的相应activity界面。

  如果把2个activity都配置为android:launchMode="singleInstance"模式,那么它们都不受task管理,也就是说配置android:finishOnTaskLaunch是无效的。配置android:taskAffinity在这里也失效一部分功能,目前知道它还保留有的功能:就是配置android:excludeFromRecents="true"后,在不同的task中不受影响,且还具备相同的task系统默认返回栈顶activity。

  如果启动模式为singleInstance,那么onActivityResult将会失去作用,它的resultCode会直接返回Activity.RESULT_CANCELED。

 

转载地址:http://wezaa.baihongyu.com/

你可能感兴趣的文章
mysql实战优化之三:表优化
查看>>
centos配置ssh免密码登录后,仍提示输入密码
查看>>
在阿里云上布置git server
查看>>
【UWP】使用Action代替Command
查看>>
利用 Python 只连接一次 MySQL
查看>>
sublime搜索和替换--正则
查看>>
qq划屏幕红包程序
查看>>
Atitit.mysql 5.0 5.5 5.6 5.7 新特性 新功能
查看>>
CCTableView 简单样例
查看>>
HTML 事件(二) 事件的注册与注销
查看>>
【云计算】docker daemon如何提供Restful的API
查看>>
iOS开发--整理常用的第三方资源
查看>>
HTTP 1.1与HTTP 1.0的比较
查看>>
北京师范大学2016年初试成绩基本要求
查看>>
Python之数据结构篇
查看>>
Shell 基本运算符
查看>>
java阅读笔记
查看>>
C#开发微信门户及应用(39)--使用微信JSSDK实现签到的功能
查看>>
CleanBlog(个人博客+源码)
查看>>
项目管理理论与实践(5)——UML应用(下)
查看>>