2012-12-01 146 views
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应用程序。用户必须按下“后退”按钮才能看到我的应用程序。我不喜欢这种行为。这可能对内部有好处,但不适用于外部目的。

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

如果还尝试过像startActivityForResult()这样的东西,但那并没有成功。

回答

0

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

具体而言,意向标志FLAG_ACTIVITY_NEW_TASK用于在单独的任务中启动活动。

+0

谢谢你,这个标志做到了! – einherjer