博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
taskAffinity 和allowTaskReparenting的用途
阅读量:4585 次
发布时间:2019-06-09

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

taskAffinity用于指定当前Activity(activity1)所关联的Task,allowTaskReparenting用于配置是否允许该activity可以更换从属task,通常情况二者连在一起使用,用于实现把一个应用程序的Activity移到另一个应用程序的Task中。

allowTaskReparenting用来标记Activity能否从启动的Task移动到taskAffinity指定的Task,默认是继承至application中的allowTaskReparenting=false,如果为true,则表示可以更换;false表示不可以。

 

引用网上的解释例子:

一般来说,当Activity启动后,它就与启动它的Task关联,并且在那里耗尽它的整个生命周期。当当前的Task不再显示时,你可以使用这个特性来强制Activity移动到有着affinity的Task中。

 

例如:

在一个E-Mail邮件内容中,包含一个web页的链接,点击它就会启动一个Activity来显示这个页面。但是这个Activity是由浏览器应用程序定义的,那么现在它作为e-mail Task(任务)的一部分。如果它重新宿主到Browser Task里,当Browser下一次进入到前台时,它就能被看见(上一次从邮件中打开的地址),并且,当e-mail Task再次进入前台时,就看不到它了。

 

注解:

1:点击邮件内容中的链接,会打开一个Activity显示这个链接,这个Activity是属于Android系统浏览器的。

2.当显示这个链接的时候,点击Home键,让邮件App进入到后台中。

3.点击浏览器应用程序,你会发现打开的浏览器程序显示的是,上一次从邮件中打开的链接页面。

4.此时点击Home键,浏览器App进入到后台中。

5.打开邮件App(注意我们没有关闭邮件App,而是让他进入到了后台中),你会发现那个显示链接的Activity不见了(因为他已经移动到浏览器的Task中了);

 

参考地址:http://blog.csdn.net/einarzhang/article/details/6971878

 

未完待续....

 

转载于:https://www.cnblogs.com/ywtk/p/4151609.html

你可能感兴趣的文章
2018个人年终总结
查看>>
[编辑排版]小技巧---markdown 转 richText
查看>>
JSON_UNESCAPED_UNICODE
查看>>
bug解决思路
查看>>
Oracle没有WM_CONCAT函数的解决办法
查看>>
消息中间件——RabbitMQ(四)命令行与管控台的基本操作!
查看>>
Eclipse 写代码是自动重启服务
查看>>
3.8 spring - AbstractBeanDefinition 介绍
查看>>
如何在Visual Studio里面查看程序的汇编代码?
查看>>
解决IE11只能用管理员身份运行的问题
查看>>
android学习-LocationManager(一)-
查看>>
Linux安装单机solr
查看>>
dos alias/cname address
查看>>
cygwin下用arm-xscale-linux-gnueabi交叉编译libcgi
查看>>
从开始学编程过了半年了……
查看>>
【05月22日】预分红股息率最高排名
查看>>
Android学习总结(二)——Service基本概念和生命周期
查看>>
chr()//ord() //进制转换函数//eval()//文件函数//split()
查看>>
第一章 Java程序设计概述
查看>>
定时调动 (项目保留备份代码码)
查看>>