原文地址:http://henzil.easymorse.com/?p=481


android中AndroidManifest.xml文件,

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属性必须为new task。

然后运行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. android EditText设置不可写
  2. android“设置”里的版本号
  3. android(NDK+JNI)---Eclipse+CDT+gdb调试android ndk程序
  4. 在Fragment中设置控件点击方法,执行失败。
  5. Android(安卓)闹钟管理类的使用
  6. Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色
  7. android 设置中划线 下划线等
  8. Andorid Dialog 示例【慢慢更新】
  9. android图表ichartjs

随机推荐

  1. Android使用Handler实时更新UI
  2. 浅谈android的selector 背景选择器
  3. x86平台编译Android
  4. Android(安卓)Call Log and SMS Delete
  5. android实现富文本
  6. Android中的数据绑定框架DataBinding(对
  7. Android 特殊界面效果之——透明界面
  8. Android(安卓)-- 保存文件
  9. 计算器——第一个Android小项目
  10. Android 使用Lottie的三个小技巧