私の Android アプリケーションでは、バックスタックに移動するときに、特定のアクティビティが常にバックスタックのルートに配置されるようにしようとしています。
たとえば、ユーザーは A->B->C->D アクティビティを開始します。A - スプラッシュ スクリーン (NoHistory = true)、B - メイン ページ、C、D - いくつかの詳細ページをイメージします。詳細ページ (D) で、ユーザーはメイン アクティビティ (B) に移動できます。BCD バックスタック ユーザーに [Go To B] ボタンを押して既存のホーム アクティビティ (B) に移動させると、同時に C、D アクティビティが停止され、破棄されます。B アクティビティに SingleInstance を使用していますが、この場合は問題なく動作します。
これがうまくいかない場合があります。スプラッシュ スクリーンで、メイン ページをスキップして詳細ページの 1 つ (たとえば D) に直接移動する必要があることがわかります。そして、ここでホームページに行くと、バックスタックが間違っています: BだけではなくD->B.
私の場合、どのフラグまたは属性がより適していますか。アプリケーションのナビゲーション ロジックを更新するのは、より有効な方法でしょうか?
ご提案ありがとうございます。