0

ナビゲーションに問題がある非常に特殊な状況 (クライアントから要求された) がありますTasks。このプロジェクトの前に処理したことがないことを認めなければなりません。少し明らかな何かが欠けているかもしれません。

B を開始するアクティビティ A (メイン) があるとします。問題は、 aBroadcastReceiverがアクティビティ B をトリガーすることです (これは推奨されていませんが、これは難しい要件の 1 つです) を使用する必要がありますFLAG_ACTIVITY_NEW_TASK

何が起こるかというと、私は新しい B にいます。ユーザーがコードを入力すると、アクティビティ A が表示されます。そこに戻って押すと、元のタスクに戻ります。 B. のようなものにつながるA->B->(background/home button). BroadcastReceiver->B->A->(back to old task of A->B)

そのタスクを取り除くか、少なくとも新しいアクティビティ A を元のスタックの 1 つにする方法はありますか?

この投稿を確認しましたが、提案は役に立ちませんでした。

最小 API レベル 9。

事前に感謝します。信じてください。多くの launchMode の組み合わせを試し、多くの投稿を読みました。もう一度ありがとう。

4

1 に答える 1

1

誰かがこの時点に到達した場合に備えて。数週間前にメイン アクティビティを終了するソース コードの変更があったため、singleTaskそのアクティビティを再利用し、CLEAR_TOP フラグを介してスタックの上部をクリアする際に、launchMode は何の効果もありませんでした。ナビゲーション (util) ライブラリが使用されているため、同様の問題に遭遇した人がその時点までのコードをチェックしてくれることを願っています。それを監視してください。

したがって:

これが起こっていました。A終了中に開始さBれ、ちょうど のスタックにつながりますB。BroadcastReceiver 拡張クラスが開始された後、どのタスクのスタックにもA以前のアクティビティはありませんでした。Aどちらがtask1[B] task2[B]task2 のB開始を作成し、終了Aした後、Up ボタンが押されたときにどちらtask2に戻り、順番に再作成されます。task1BA

于 2013-09-13T14:54:13.623 に答える