activity标签中有一个属性为android:taskAffinity=“String”

如果不设置此属性,默认一个应用程序只有一个栈,这个栈以应用包命为单位。

下面是我做的三个实验:

1、新建两个工程,application01application02

application01设置android:taskAffinity="aaa.aaa"android:allowTaskReparenting="true"

application02也设置android:taskAffinity="aaa.aaa"android:allowTaskReparenting="true"

先运行application01,然后点击home键,让application01运行在后台,再运行application02,现在按返回键,当前显示的是application01mainActivity,再点返回键,回到home页。

但是长按home键,发现运行过的程序只有application01

 

2、紧接着又在此基础上做了另外一个实验,在application01上新建一个secondActivity,设置

android:taskAffinity="aaa.bbb"android:allowTaskReparenting="true"

mainActivity中startActivity时,设置Intent中flag属性为FLAG_ACTIVITY_NEW_TASK,注意,这里的flag属性必须为newtask。

然后运行application01,点击进入secondActivity,点击home键,让程序回到后台,

然后运行application02,点击返回,当前显示的application01中的mainActivity,再点击返回,显示的是application01secondActivity,跟预期一致。

3、在此基础上堆application01再次修改,增加thirdActivity,设置属性android:taskAffinity="aaa.aaa"android:allowTaskReparenting="true"

并在secondActivity中startActivity时,设置Intent中flag属性为FLAG_ACTIVITY_NEW_TASK

运行application01,点击进入secondActivity,再进入thirdActivity,点击返回,回到mainActivity,在点击返回,回到secondActivity,再点击返回,回到home页面,跟预期一致。


更多相关文章

  1. 设置TextView文字居中
  2. Android上的Adobe AIR应用程序运行环境发布了!
  3. 转载——android 有用的知识
  4. ImageView的android:maxHeight,android:minHeight的正确设置
  5. android 让一个控件按钮居于底部的几种方法
  6. android UI小结(一)
  7. android 组件属性描述
  8. Android图表控件MPAndroidChart——曲线图LineChart的使用(多条曲
  9. android 面试3:如何将一个Activity设置成窗口的样式

随机推荐

  1. Java 包(学习 Java 编程语言 035)
  2. 经典算法题:排序算法
  3. 初识广度优先搜索与解题套路
  4. 二分查找法:在女朋友回家之前可以玩多少个
  5. 从一道简单算法题理解快速排序的 partiti
  6. MVVM框架下实现分页功能
  7. JavaScript 数据结构(2-1):栈与队列-栈篇
  8. 有了这套模板,女朋友再也不用担心我刷不动
  9. 只会环比下降3%的数据分析师还有救吗?
  10. python格式化输出:f-string格式化输出