android--Manifest文件中allowTaskReparenting属性的含义
2014-05-16 11:46
477 查看
最近在仔细的阅读安卓的官方文档,说到manifest文件时,有个属性allowTaskReparenting一直看不明白,原文在这:allowTaskReparenting ,英文理解能力强的朋友可以读一下然后给我解释解释哈。
针对这个属性的含义,上网查了一些中文资料,品味了半天,总算是能理解一点了,但是不一定正确,希望大牛们多指正。
allowTaskReparenting的官方定义是“Whether or not the activity can move from the
task that started it to the task it has an affinity for when that task is next brought to the front — "
if it can move, and "
remain with the task where it started.”简单翻译就是是否允许该Activity从启动他的任务(可以理解为activity栈)转移到与他有亲密关系(affinity)的任务中,当有亲密关系的任务再次启动时。干看这句话我是没懂什么意思,后来看到一个帖子的解释,稍微明白了一点。就用官方提供的那个例子来说,一个邮件应用,当收到的邮件内容中包含一个链接地址时,用户点击这个链接会调用browser应用的一个activityB去显示。但是下次browser应用再显示时,这个activityB还存在,而下次再显示邮件应用时,activityB就不在其中了。是因为browser和activityB有相同的affinity,所以从邮件应用的任务中(这里要解释一下,如果是系统的browser
APP,那么显示网页内容的activityB将分配一个新的任务栈,因为他配置launchmode是singletask)转回到了browser应用的任务中去。如果activityB的allowTaskReparenting属性设置为false,那么当browser启动时,它就不会回到browser的任务中,而是一直呆在邮件应用的任务中。
以上是我的理解,不知道是不是正确,请指正。
针对这个属性的含义,上网查了一些中文资料,品味了半天,总算是能理解一点了,但是不一定正确,希望大牛们多指正。
allowTaskReparenting的官方定义是“Whether or not the activity can move from the
task that started it to the task it has an affinity for when that task is next brought to the front — "
true"
if it can move, and "
false" if it must
remain with the task where it started.”简单翻译就是是否允许该Activity从启动他的任务(可以理解为activity栈)转移到与他有亲密关系(affinity)的任务中,当有亲密关系的任务再次启动时。干看这句话我是没懂什么意思,后来看到一个帖子的解释,稍微明白了一点。就用官方提供的那个例子来说,一个邮件应用,当收到的邮件内容中包含一个链接地址时,用户点击这个链接会调用browser应用的一个activityB去显示。但是下次browser应用再显示时,这个activityB还存在,而下次再显示邮件应用时,activityB就不在其中了。是因为browser和activityB有相同的affinity,所以从邮件应用的任务中(这里要解释一下,如果是系统的browser
APP,那么显示网页内容的activityB将分配一个新的任务栈,因为他配置launchmode是singletask)转回到了browser应用的任务中去。如果activityB的allowTaskReparenting属性设置为false,那么当browser启动时,它就不会回到browser的任务中,而是一直呆在邮件应用的任务中。
以上是我的理解,不知道是不是正确,请指正。
相关文章推荐
- Android开发自动生成的AndroidManifest.xml中的allowBackup属性的含义和危险性实例讲解
- Android-App manifest-allowTaskReparenting
- activity 的属性android:taskAffinity和android:allowTaskReparenting
- 浅谈AndroidManifest文件的android:allowBackup属性
- AndroidManifest文件中属性<application android:allowBackup="false">
- activity 的属性android:taskAffinity和android:allowTaskReparenting
- activity 的属性android:taskAffinity和android:allowTaskReparenting
- Activity之taskAffinity属性、allowTaskReparenting属性和Android退出整个应用解决方案
- Android manifest中actvity下的android:allowTaskReparenting等配置
- android中的android:taskAffinity,allowTaskReparenting 等属性
- .android:allowTaskReparenting 等Activity 的task属性
- activity 的属性android:taskAffinity和android:allowTaskReparenting
- android:taskAffinity && android:allowTaskReparenting
- 在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用
- Manifest.xml文件中的Activity属性android:name必须和工程src目录下的相关类名保持一致
- Android布局文件中的属性含义
- android很好的一篇文章,关于AndroidManifest.xml文件各个属性,补补基础
- 在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用 | keyboard,squeezing,layout
- android:allowTaskReparenting(clearTaskOnLaunch...)
- android Manifest.xml全局配置文件中根标签中package属性及<original-package>标签注意点