在项目中时常会有需求需要启动一个页面,而这个页面是一个二级页面,当返回时,希望能够回到他的父页面也就是一级页面。若此时一级页面没有启动,我们可以通过TaskStackBuilder
来实现。
TaskStackBuilder
是在API 16中添加的类,要兼容到低版本,我们需要导入support-v4包中的TaskStackBuilder
。具体实现代码如下:
Intent intent = new Intent(this, ChildActivity.class);
TaskStackBuilder.create(this)
.addNextIntentWithParentStack(intent)
.startActivities();
同时在AndroidManifest.xml
清单文件中声明它的Parent:
<activity
android:name="com.example.app.ChildActivity
android:parentActivityName="com.example.app.ParentActivity" >
<!-- 下面这段用来兼容API 16之前的版本 -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app.MainActivity" />
</activity>