iPhone アプリを Android に移植していますが、ルート アクティビティ以外の各アクティビティをスタックにポップする手段が見つからないようです。
Objective-cでは、以下のようなことをします
[navController popToRootViewControllerAnimated:YES];
アクションの後に各アクティビティで「finish()」を効果的に呼び出すことができるかどうかは誰にもわかりますか?
iPhone アプリを Android に移植していますが、ルート アクティビティ以外の各アクティビティをスタックにポップする手段が見つからないようです。
Objective-cでは、以下のようなことをします
[navController popToRootViewControllerAnimated:YES];
アクションの後に各アクティビティで「finish()」を効果的に呼び出すことができるかどうかは誰にもわかりますか?
1 つのアクティビティ (ホーム画面など) を開始し、アプリケーションのスタック内の他のすべてのアクティビティを削除する場合は、次を使用できます。
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // Removes other Activities from stack
startActivity(intent);
このイベントを MainActivity (タイトル バーのロゴ クリックなど) にも提供する場合は、FLAG_ACTIVITY_SINGLE_TOP
フラグを追加して、それ自体の別のインスタンスがスタックに追加されないようにすることもできます。
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOPを見てください: このフラグを使用してルート アクティビティで startActivity を実行すると、その上のすべてのアクティビティが吹き飛ばされます。インテント配信の動作については、ドキュメントを注意深く読む必要があります。