2012-12-01 174 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