アクティビティ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. Android:フラグメントとバックスタック
- 8. Androidのバックスタックをクリアする
- 9. Android:ListView/ArrayAdapterアクティビティからアイテムを削除する
- 10. サービスからアクティビティを削除する方法
- 11. アクティビティからウィジェットを削除するには?
- 12. Androidフラグメント - 既に存在する場合は、バックスタックからフラグメントを削除します。
- 13. フラグメント取引、アクションバー&バックスタック
- 14. Androidのバックスタックとマルチタスクのサポート
- 15. Androidフラグメントのナビゲーションとバックスタック
- 16. タブとフラグメント、別々のバックスタック
- 17. 削除したアイテムを削除キーで削除する
- 18. divを削除onclick(削除を使用)
- 19. SQL削除ステートメントDidnt削除
- 20. ソフト削除VSハード削除
- 21. 再ホストされたデザイナーの表面からアクティビティを削除する
- 22. 新しいアクティビティの開始時に古いアクティビティインスタンスを削除する
- 23. jquerymobileアプリのバックスタックを消去する
- 24. TTLauncherView削除ボタンを削除する
- 25. タスクのバックスタックをクリアして新しいアクティビティだけを残すにはどうすればいいですか?
- 26. 通知フィードがフラットフィードをアンフォローすると、アクティビティは削除されますか?
- 27. Holoeverywhere:実行時にアクティビティからアクションバーをプログラムで削除する方法
- 28. データを削除
- 29. リスナーを削除
- 30. イベントリスナーを削除
あなたの人生保護人....ありがとうトン... – W00di
:)残念ながら、この上にクローズ投票者が多すぎましたそれは前述の複製とは少し異なります。上記の解決策は大型に見えるかもしれませんが、非常に柔軟で強力です:) – Trinimon
解決策をお寄せいただきありがとうございます。このケースは間違いなく異なっています。 – Roman