基本的に必要なのは、インスタンスを前面に移動するActivity
たびに1 つ再作成し、他のアクティビティを破壊しないことです。startActivity()
たとえば、アクティビティスタックにある場合
A->B->C->D
DI から B を開きたい場合、現在使用しているフラグはFLAG_ACTIVITY_REORDER_TO_FRONT
、Activity スタックをこの状態のままにするフラグです: A->C->D->B
. アクティビティ スタック内のその順序は完璧ですが、そのフラグでActivity
は再作成されずonNewIntent()
に呼び出されます。
の複雑さのためにActivity
多くのことをリファクタリングしたくないので、メソッドonCreate()
でロジックを実行する代わりに、B を最初から再作成する (呼び出す必要がある) ことが必要です。onNewIntent()
アクティビティ スタックは、 を使用した場合と同じ状態になるはずFLAG_ACTIVITY_REORDER_TO_FRONT
です。何か案が?あなたの助けは大歓迎です。:)