Используйте это:
Intent intent = new Intent (SecondActivity.this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
Смотрите здесь Clear the entire history stack and start a new activity on Android
Если вы хотите позвонить finish()
, вы должны сделать это после startActivity
вызова, если вы делаете это в любом из жизненного цикла обратных вызовов, он может быть вызваны в разные моменты, а не только при навигации к другой деятельности.
Хорошая вещь noHistory
, что система заботится о finising активности в нужный момент (как вы можете прочитать here, система будет на самом деле вызывается метод отделки() для вас), так что вы можете быть убедитесь, что вы не называть его в плохой момент, и все безопасно (вероятно, это не кажется важным сейчас, но это может быть, например, при работе с потоками)
Также попробуйте прочитать о Empty process
Процесс, который не содержит активного приложения компонентов. причина только в том, что этот процесс продолжается, для целей кэширования , чтобы улучшить время запуска при следующем запуске компонента . Система часто убивает эти процессы, чтобы сбалансировать общие системные ресурсы между кэшами процессов и базовыми кэшами ядра .
Пустой процесс - это тот, который не содержит активного приложения компонентов. Единственная причина для поддержания такого процесса - это кеш , чтобы улучшить время запуска при следующем запуске компонента его приложения . Таким образом, система будет часто убивать эти процессы , чтобы сбалансировать общие системные ресурсы между этими пустыми кэшированными процессами и базовыми кэшами ядра.
Читать здесь http://developer.android.com/guide/topics/processes/process-lifecycle.html
, с которой деятельность вы столкнулись с этой проблемой. объясните с помощью потока, чтобы помочь вам лучше. Также «noHistory» - с какой деятельностью. – Tauqir
Я занимаюсь продлением времени. поэтому в основном пользователь должен будет заполнить поля в расширяющейся активности (SecondActivity), после заполнения, он перенаправит пользователя на Mainactivity. Я вышел из приложения, установив диалоговое окно с MainActivity.this.finish(); System.exit (0); , Однако, когда я снова открываю приложение (я не убил приложение), он показывает страницу расширения (SecondActivity). По правде говоря, когда я снова открываю, он должен показать мне мою MainActivity вместо SecondActivity. – redblackwhite