我有一个应用程序,我想以这种方式导航:
A - > B - > C
从C发布了一个名为D的新活动,该活动将进入顶部并清除任务,这意味着如果我按回D,它将进入主屏幕。
如果我理解正确,这个FLAG:FLAG_ACTIVITY_TASK_ON_HOME会这样做......但它仅适用于当前的API(11>)。
我正在为Android 1.5开发>我怎么也有这种行为?
谢谢!
答案 0 :(得分:6)
你正在寻找这个:
Intent intent = new Intent(activity, activityClass);
ComponentName cn = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
activity.startActivity(mainIntent);
使用google的android兼容性库 - 在sdk中找到。
或使用finish()
答案 1 :(得分:2)
您可以将FLAG_ACTIVITY_CLEAR_TASK
与FLAG_ACTIVITY_NEW_TASK
一起使用。
public static final int FLAG_ACTIVITY_CLEAR_TASK
自:API Level 11
如果在传递给Context.startActivity()的Intent中设置,则此标志将为 导致任何与活动相关联的现有任务 在活动开始前清除。也就是活动 成为一个空的任务的新根,和任何旧的任务 活动结束了。这只能与。一起使用 FLAG_ACTIVITY_NEW_TASK。
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TASK
答案 2 :(得分:0)
我最终使用此https://stackoverflow.com/a/8576529/327011因为我需要在1.5>中使用它并且该标志仅适用于更高的API。
如果我不需要支持“低”API级别,@ aromero的答案将是我的选择。