2

Android アプリに優れた Up ナビゲーションを実装しようとしています。

たとえば、 から に行きたいとしDetailsActivityますMasterActivity。そのために、次のコードを使用します。

final Intent upIntent = new Intent(this, MasterActivity.class);
upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
supportNavigateUpTo(upIntent);

がバックグラウンドで既に開いている場合MasterActivityはうまく機能します。現在のアクティビティ (およびスタック内のすべてのアクティビティ) を閉じ、 でMasterActivityメソッドを起動onNewIntentMasterActivityます。

ただし、MasterActivityスタックにない場合、メソッドは単に閉じDetailsActivityられ、他には何も起こりません。

私が達成したいのはMasterActivity、がスタックにない場合、現在の aActivity が閉じられ、の新しいインスタンスMasterActivityが作成されることです。

私はすでに次のフラグの組み合わせを試しましたが、成功しませんでした:

Intent.FLAG_ACTIVITY_SINGLE_TOP
Intent.FLAG_ACTIVITY_CLEAR_TOP
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK
Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

私の問題を解決する方法について何か考えがありますか?

お時間をいただきありがとうございました

編集

親アクティビティは実行時に指定する必要があります。実際、親アクティビティはActivityAActivityBまたはActivityCです。

問題をよりよく説明させてください。私のアプリはテレビ番組を管理します。私は 、MainActivty、 、TVShowActivityを持ってSeasonActivityEpisodeActivityます。

すべてのアクティビティのナビゲーション ドロワーで、親アクティビティにジャンプできるようにしたい:

- 、または;EpisodeActivityに行きたいSeasonActivityTVShowActivityMainActivity

-SeasonActivity私は行きたいですかTVShowActivityMainActivity

-TVShowActivityに行きたいですMainActivity

私のアクティビティ スタックが次のような場合、私のアプリは現在動作します: MainActivty=> TVShowActivity=> SeasonActivity=> EpisodeActivity

EpisodeActivity問題は、ユーザーがから直接アクセスできる場合がありMainActivity、同じナビゲーション パターンを使用できるようにしたいということです。

4

1 に答える 1