Этот вопрос уже имеет ответ здесь:
Предложите, как я могу закрыть свое целое Приложение Android с одним линейным кодом.
Вы можете завершить действие, вызвав Activity.finish () . Однако позаботьтесь о жизненном цикле Android Activity .
Перед этим, пожалуйста, прочитайте и этот другой вопрос:
android.os.Process.killProcess(android.os.Process.myPid());
Я не думаю, что вы можете сделать это в одной строке кода. Попробуйте открыть свои действия с помощью startActivityForResult. В результате вы можете передать что-то вроде CLOSE_FLAG, которое будет информировать вашу родительскую активность о том, что ее дочерняя активность завершена.
Тем не менее, вам, вероятно, следует прочитать этот ответ .
Насколько мне известно, функция завершения закрывает только текущий отображаемый экран.
Обратитесь к этому примеру (где см. Ответ «плюс минус»), он обязательно поможет вам закрыть приложение.
Это одно из самых бесполезных желаний начинающих Android-разработчиков, и, к сожалению, оно кажется очень популярным. Как определить "закрытие" Android-приложения? Скрыть его пользовательский интерфейс? Прервать фоновую работу? Прекратить обработку широковещательных сообщений?
Android-приложения - это набор модулей, собранных в .apk и открытых для системы через AndroidManifest.xml. Активности могут быть организованы и переупорядочены в различных стеках задач, и завершение()- или любое другое перемещение от одной активности может означать совершенно разные вещи в разных ситуациях. Одно приложение может выполняться в нескольких процессах, поэтому уничтожение одного процесса не обязательно означает, что не останется запущенного кода приложения. И, наконец, BroadcastReceivers может быть вызван системой в любое время, воссоздавая необходимые процессы, если они не запущены.
Главное, что вам не нужно останавливать/убивать/закрывать/что бы то ни было ваше приложение через одну строчку кода. Это говорит о том, что вы упустили какой-то важный момент в разработке Android. Если по какой-то странной причине вам нужно это сделать, вам нужно завершить() все действия, остановить все службы и отключить все BroadcastReceivers, объявленные в AndroidManifest.xml. Это не одна строка кода, и, возможно, запуск Activity, которая удаляет ваше собственное приложение, сделает эту работу лучше.
Если вы закроете главную Activity с помощью Activity.finish()
, я думаю, она закроет все активности.
Возможно, вы можете переопределить функцию по умолчанию и реализовать ее статическим способом, я не уверен
просто вызовите finish () в методе, в котором вы хотите завершить действие, например, когда вы используете метод onCreate (), в конце метода просто добавьте finish ( ), и вы увидите, что действие заканчивается, как только оно будет создано!