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
メソッドを起動onNewIntent
しMasterActivity
ます。
ただし、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
私の問題を解決する方法について何か考えがありますか?
お時間をいただきありがとうございました
編集
親アクティビティは実行時に指定する必要があります。実際、親アクティビティはActivityA
、ActivityB
またはActivityC
です。
問題をよりよく説明させてください。私のアプリはテレビ番組を管理します。私は 、MainActivty
、 、TVShowActivity
を持ってSeasonActivity
いEpisodeActivity
ます。
すべてのアクティビティのナビゲーション ドロワーで、親アクティビティにジャンプできるようにしたい:
- 、または;EpisodeActivity
に行きたいSeasonActivity
TVShowActivity
MainActivity
-SeasonActivity
私は行きたいですかTVShowActivity
?MainActivity
-TVShowActivity
に行きたいですMainActivity
。
私のアクティビティ スタックが次のような場合、私のアプリは現在動作します: MainActivty
=> TVShowActivity
=> SeasonActivity
=> EpisodeActivity
。
EpisodeActivity
問題は、ユーザーがから直接アクセスできる場合がありMainActivity
、同じナビゲーション パターンを使用できるようにしたいということです。