アクティビティA→B→C→D→Eから始めます.D→Eから移動するときにはスタック内にアクティビティはないはずですが、 Dと(通常のバック関数のように、活動Cを更新せずに)Cに行くアクティビティのバックスタックを削除
答えて
あなたが閉じるすべてのアクティビティ(A、B、C、D)にBroadcastReceiver
を追加することができます:
public class MyActivity extends Activity {
private FinishReceiver finishReceiver;
private static final String ACTION_FINISH =
"com.mypackage.MyActivity.ACTION_FINISH";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finishReceiver= new FinishReceiver();
registerReceiver(finishReceiver, new IntentFilter(ACTION_FINISH));
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(finishReceiver);
}
private final class FinishReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_FINISH))
finish();
}
}
}
...と...
sendBroadcast(new Intent(ACTION_FINISH));
を呼び出すことによって、それらを閉じ...活動E.でthis nice exampleをあまりにも確認してください。
はあなたの他の活動をクリアするためにあなたの意思にFLAG_ACTIVITY_CLEAR_TOPフラグを追加あなたのようなあなたのE活動を開始している時にスタックをバック形成:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
あなたの活動を開始してください:
上の0詳細情報:Task and BackStack
アクティビティがすでにスタックに入っている場合にのみ動作します。 – W00di
@sabya:plsは問題について詳しく説明しています。 –
:docs: "これが設定されていて、起動されているアクティビティは、そのアクティビティの新しいインスタンスを起動する代わりに、そのアクティビティの上にある他のすべてのアクティビティが閉じられ、このインテントが(新しいアクティビティとしての)古いアクティビティに配信されます。 (http://developer.android.com/reference/android/content/Intent.htmlを参照) – Trinimon
が、これはスタック
ですでに活動をバッククリアする権利ワットである
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
スタック内のすべての活動を消去しますあなたのitentにフラグを追加します。これが役に立てば幸いです。
どちらも働いていない... :( – W00di
- 1. アクティビティのバックスタックのクリアアンドロイド
- 2. アクティビティのフラグメントを既にバックスタックにある別のアクティビティにロード
- 3. 特定のフラグメントをバックスタックから削除する
- 4. アンドロイドのバックスタックからアクティビティを削除するにはどうすればよいですか?
- 5. ナビゲーションドロワーを開いたときにバックスタックを削除する
- 6. バックスタックからフラグメントを削除しないでください
- 7. バックスタックの特定のアクティビティをフォアグラウンドにしてトップをクリアする
- 8. 前のアクティビティの断片バックスタックを維持する
- 9. アクティビティからフラグメントを削除する
- 10. アクティビティでTitleBarを削除するには?
- 11. Android:スタックからアクティビティを削除する
- 12. 最後のフラグメントがバックスタックから削除されないようにします
- 13. 提供されたバックスタックでアクティビティを開始する
- 14. ナビゲーションドロワーのアクティビティ(メイン)と他のすべてのアクティビティのアプリラベルを削除します
- 15. アンドロイドの現在のアクティビティから以前のアクティビティを削除する
- 16. フラグメントのバックスタックAndroid
- 17. Brightway2:アクティビティをdictとしてアクティビティを使用せずに変更/削除する
- 18. 前のアクティビティを削除せずに別のアクティビティに透明なアクティビティを表示する方法
- 19. 削除時の別のアクティビティでarraylistを更新する方法
- 20. 別のアクティビティで削除後にリストビューを更新する
- 21. スタックからアクティビティの範囲を削除する
- 22. バックスタック内のアクティビティが終了すると、戻るボタンは以前のアクティビティに戻りますか?
- 23. ビューページのバックスタックからフラグメントを削除し、以前に表示されたフラグメントをリフレッシュする
- 24. ナビゲーションループとバックスタックのクリア
- 25. フラグメントのバックスタックとトグル
- 26. Android:フラグメントとバックスタック
- 27. Androidのバックスタックをクリアする
- 28. Getstream.io:socket/faye経由の削除されたアクティビティのメッセージフォーマット
- 29. アクティビティからメールアイコンを削除しますか?
- 30. サービスからアクティビティを削除する方法
あなたの人生保護人....ありがとうトン... – W00di
:)残念ながら、この上にクローズ投票者が多すぎましたそれは前述の複製とは少し異なります。上記の解決策は大型に見えるかもしれませんが、非常に柔軟で強力です:) – Trinimon
解決策をお寄せいただきありがとうございます。このケースは間違いなく異なっています。 – Roman