Есть ли способ убить мое приложение, кроме android.os.Process.killProcess и Sytem.exit(0)?
У меня проблема с моим приложением. Мне действительно нужно убить его, когда пользователь нажимает "Выход". Я попробовал оба метода, перечисленных в заголовке вопроса, и вот проблема: у меня есть постоянный (на переднем плане) сервис, выполняющий работу, поэтому для моего приложения есть иконка в трее. Когда пользователь переключается на мое приложение через этот значок, а затем нажимает "Выход" - приложение убивает, но Android немедленно перезапускает его. Если пользователи переключаются обратно в приложение любым другим способом (кроме значка службы) - приложение не перезапускается при выходе.
Итак, каков надежный способ убить приложение?
PS В приложении всегда есть только одно действие, если это имеет какое-либо значение.
3 ответа
Я нашел решение своей проблемы. Если я перенесу свою деятельность на задний план с moveTaskToBack(true);
а затем убить процесс не перезапускается.
Вы можете использовать следующие намерения, чтобы выйти из своей деятельности
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
и вызовите finish(), прежде чем вызывать это намерение.