0

在我的应用程序中,我使用以下代码启动 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 应用程序。用户必须按“返回”按钮才能看到我的应用程序。我不喜欢这种行为。这可能对内部意图有益,但对外部意图不利。

是否可以启动 Activity 并立即从当前 App 的堆栈中删除这个新 Activity?

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

4

1 回答 1

0

之所以如此,是因为 FB Activity 和您的 Activity 都属于同一任务。有关如何在单独的任务中启动 Activity,请参阅官方文档。

具体来说,Intent FlagFLAG_ACTIVITY_NEW_TASK用于在单独的任务中启动 Activity。

于 2012-12-01T14:56:10.513 回答