Перезапуск приложения Android после завершения процесса

Когда мое приложение простаивает, Android убивает процесс. Если пользователь снова открывает приложение через некоторое время, создается только верхняя активность – это проблема для меня, потому что активность зависит от инициализации других объектов (которые теперь уничтожены).

То, что я хочу сделать в этом случае, – это перезапустить приложение. Как я могу это сделать?

Solutions Collecting From Web of "Перезапуск приложения Android после завершения процесса"

Просто определите, что ваше Application запускается после того, как оно было ранее уничтожено Android, вы можете сделать это, сохранив переменную в пользовательском классе Application и установите ее в true после того, как ваше приложение будет инициализировано. Поэтому, когда аппликация повторно запущена, этот флаг является ложным, а затем просто создайте Intent запустить свою основную Activity указав FLAG_ACTIVITY_CLEAR_TOP :

 Intent reLaunchMain=new Intent(this,MainActivity.class); reLaunchMain.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(reLaunchMain); 

Вероятно, вам стоит посмотреть на хранение таких объектов в реализации вашего приложения класса Application .

Если эти объекты содержат состояние, которое должно быть более постоянным, вы должны сохранить состояние таких объектов в onPause() каждого действия либо в базе данных, либо в SharedPreferences, либо удаленно.

Я думаю, этот ответ только для вас.

По завершении проделайте это

  finish(); Intent intent = new Intent(this, sameactivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);