使用FLAG_ACTIVITY_CLEAR_TOP从非Activity类启动活动

时间:2014-05-14 09:34:47

标签: android android-intent android-activity start-activity

是否可以使用FLAG_ACTIVITY_CLEAR_TOP从非活动类启动活动?

我有一个非Activity类,在某些条件下,需要启动一个活动的意图。我现在正在这样做:

Intent newIntent = new Intent(context, myActivity.class);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(newIntent);

这有效,但我不希望将活动作为新任务启动。相反,我想使用FLAG_ACTIVITY_CLEAR_TOP,但这给了我以下运行时System.err:

从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗?

1 个答案:

答案 0 :(得分:1)

您可以组合标志(即:使用Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP)。

但是,如果现有任务中没有myActivity的活动(未完成)实例,则它不会清除任何内容,只会在其上创建myActivity的新实例。堆栈顶部。