Android 从堆栈中删除已启动的外部活动

Android 从堆栈中删除已启动的外部活动,android,android-activity,Android,Android Activity,在我的应用程序中,我使用以下代码启动Facebook应用程序: String uri = "fb://page/" + fbPageId; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity

在我的应用程序中,我使用以下代码启动Facebook应用程序:

String uri = "fb://page/" + fbPageId;
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
这是预期的工作。但目前,当用户启动FB活动,然后按下“主页”按钮并再次启动我的应用程序时,他将看到Facebook应用程序。用户必须按“后退”按钮才能查看我的应用程序。我不喜欢这种行为。这可能有利于内部,但不利于外部

是否可以启动活动并立即从当前应用程序堆栈中删除此新活动


如果你也尝试过startActivityForResult()之类的东西,但没有成功。

这是因为FB活动和你的活动都属于同一个任务。请参阅,了解如何在单独的任务中启动活动


具体来说,Intent标志用于在单独的任务中启动活动。

谢谢,这个标志成功了!