最近公司产品有一个新需求,由A Activity跳转到B Acitivy,当打开近期任务列表时,两个activity要分开展示。且,在B结束后,自动移除其在近期任务列表中的记录。在此记录此次开发:
首先,一个APP的两个Activity要在近期任务列表里展示出两个记录最简单的做法就是新开一个任务栈,而将B开启在新的任务栈的方法就是设置intent的flag:
Intent intents = new Intent(context, ImageViewActivity.class);
intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intents);
同时,该Activity在清单文件AndroidManifest中需声明以下属性:
<activity android:name=".ImageViewActivity"
android:label="ImageActivity"
android:autoRemoveFromRecents="true"
android:taskAffinity=".imagesingle"/>
label:设置在打开近期任务列表时,该activity要展示的名称。
autoRemoveFromRecents:在结束该activity时,将自动移除该activity在近期任务列表中的记录。
taskAffinity:配合intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)使用,使得该activity在新的任务栈中打开