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() なども試してみましたが、うまくいきませんでした。

4

1 に答える 1

0

これは、FB アクティビティとあなたのアクティビティの両方が同じタスクに属しているためです。別のタスクでアクティビティを起動する方法については、公式ドキュメントを参照してください。

特に、インテント フラグFLAG_ACTIVITY_NEW_TASKは、別のタスクでアクティビティを開始するために使用されます。

于 2012-12-01T14:56:10.513 に答える