Перезапустить активность с помощью метода onResume

Я хотел бы перезапустить activitiy с помощью метода onResume (). Я думал, что могу использовать намерение для достижения этого, но это заканчивается бесконечным циклом.

@Override protected void onResume() { Intent intent = new Intent(MainActivity.this, MainActivity.class); MainActivity.this.startActivity(intent); finish(); super.onResume(); } 

Есть ли другой способ перезапуска активности?

Solutions Collecting From Web of "Перезапустить активность с помощью метода onResume"

Я бы поставил под вопрос, почему вы хотите это сделать … но вот первое, что появилось у меня в голове:

 @Override protected void onCreate(Bundle savedInstanceState) { ... Log.v("Example", "onCreate"); getIntent().setAction("Already created"); } @Override protected void onResume() { Log.v("Example", "onResume"); String action = getIntent().getAction(); // Prevent endless loop by adding a unique action, don't restart if action is present if(action == null || !action.equals("Already created")) { Log.v("Example", "Force restart"); Intent intent = new Intent(this, Example.class); startActivity(intent); finish(); } // Remove the unique action so the next time onResume is called it will restart else getIntent().setAction(null); super.onResume(); } 

Вы должны сделать "Already created" уникальным, чтобы ни одно другое намерение не могло случайно выполнить это действие.