Как выйти из приложения на андроиде
Papa-jobs.ru

Ремонт телефонов

Как выйти из приложения на андроиде

Как закрыть приложение на Andro >

Операционная система Android проста в освоении. Но некоторые новички всё же сталкиваются с проблемами — они не могут понять, как здесь закрыть приложение.

На компьютере с закрытием программ не возникает никаких трудностей. Вы просто кликаете по «крестику» в правом верхнем углу, на этом ваши действия заканчиваются. Но операционная система Android по своей сути является однооконной, поэтому никаких «крестиков» здесь нет. Да и даже если вы выйдете на рабочий стол — приложение продолжит свою работу, теперь уже в фоновом режиме. Если вы запускали что-то простое, вроде «Калькулятора», то можно не переживать. Но если вами была запущена программа, которая в теории может выполнять какие-то действия даже в фоне, то лучше её закрыть. Как это сделать — расскажет наша сегодняшняя статья.

Самый простой способ

Андроид едва ли не с первых дней существования получил многозадачность. А если несколько программ могут работать одновременно, то у пользователя должна иметься возможность какие-то из них закрывать. Или даже отключать, но об этом мы поговорим чуть ниже. Закрытие приложения подразумевает собой его выгрузку из оперативной памяти, заодно программа перестанет нагружать процессор. Для закрытия программы в Android достаточно давно используется простейший способ. Заключается он в следующих действиях:

Шаг 1. Нажмите на клавишу «Последние приложения». Она обычно выглядит в виде двух накладываемых друг на друга прямоугольников, хотя случаются и исключения — иногда это просто один квадрат. Эта кнопка может быть у вас физической или сенсорной — это совершенно не важно. На многих устройствах эта клавиша является виртуальной — она отображается на самом экране.

Шаг 2. Здесь вы увидите миниатюры всех запущенных приложений. При перезагрузке смартфона список обнуляется, за исключением девайсов, работающих при помощи Android 6.0 или более свежей версии операционной системы. Если вы хотите закрыть работающие приложения, то просто проведите по их миниатюрам пальцем слева направо или справа налево. На планшете при горизонтальной ориентации нужно провести пальцем сверху вниз.

Шаг 3. В новых версиях операционной системы можно закрыть сразу все приложения. Для этого служит соответствующая кнопка, находящаяся под столбцом с миниатюрами.

Если у вас устройство с очень старой версией Android, то жест смахивания может не работать. В таком случае нужно нажать на «крестик», находящийся на миниатюре ненужного вам приложения. Если его нет, то попробуйте удерживать палец на миниатюре пару секунд — в таком случае может появиться контекстное меню, в котором окажется пункт «Закрыть приложение» или «Удалить из списка».

Другие способы

А как закрыть открытые приложения на Андроид, не используя соответствующую кнопку? Существует ли другой способ? На этот вопрос можно ответить одновременно и утвердительно, и отрицательно. Всё зависит от реализации конкретной программы. Некоторые разработчики позаботились о том, чтобы их творение не висело в оперативной памяти, когда вы находитесь вне его. В таком случае закрытие может быть реализовано следующими способами:

  • Иногда в главном меню программы вы можете увидеть кнопку «Выход». Нажатие на неё перекинет вас на рабочий стол и фактически закроет приложение.
  • В некоторых случаях достаточно нажать кнопку «Назад». При этом нужно находиться на главном экране приложения. В большинстве случаев вам нужно будет дополнительно подтвердить свои действия, нажав кнопку «Да».

Некоторые девайсы (например, HTC One M7) предлагают дважды нажать кнопку «Домой». После этого останется провести по приложению снизу вверх, после чего оно закроется.

Отключение приложений

Многие программы на Android реализованы таким образом, что они в любом случае будут работать в фоне. Например, Facebook постоянно собирает о вас всяческую информацию, закрыть его фактически невозможно. Но если вы не собираетесь использовать какие-то приложения в течение длительного времени, то их можно отключить. Тогда они точно не будут работать в фоне, потребляя ресурсы устройства. Закрыть фоновые приложения методом отключения можно при помощи следующих действий:

Шаг 1. Зайдите в «Настройки».

Шаг 2. Перейдите в раздел «Приложения». Также он может называться «Диспетчером приложений».

Шаг 3. Переместитесь во вкладку «Все». Хотя это необязательный шаг, нужные программы могут обнаружиться и во вкладке «Сторонние», открывшейся по умолчанию.

Шаг 4. Нажмите на то приложение, которое вы желаете отключить.

Шаг 5. Нажмите кнопку «Отключить» или «Остановить». Если она не активна, то данную программу отключить нельзя — возможно, что она является системной.

Осторожно! Если вы отключите программу, то на рабочем столе или в меню вы её больше не найдёте. Для её использования нужно вновь посетить «Диспетчер приложений», нужную вам программу вы найдете во вкладке «Отключенные» или «Остановленные».

Прочие решения

Некоторые прошивки умеют самостоятельно закрывать приложения, когда запас оперативной памяти исчерпывается. Такой же функцией обладают некоторые специальные утилиты. Подробнее о них вы можете прочитать в статье о лучших ускорителях для Android. Подобные программы правильно выгружают ненужные вам в данный момент приложения из памяти, а также совершают некоторые другие полезные действия. Новые смартфоны Samsung наделены собственным оптимизатором. Раньше он имел отдельный ярлык, но в Android 7.0 его перенесли в «Настройки».

Стоит заметить, что переживать по поводу запущенных программ нужно только в том случае, если ваше устройство обладает недостаточным объемом оперативной памяти. Если же в ваш девайс встроены 3-6 Гб, то вам можно было не читать данную статью.

Как выйти из приложения Andro >

Я нашел несколько кодов для программного приложения Android. Вызов любого из следующего кода в onDestroy () будет полностью закрыт приложение?

  1. System.runFinalizersOnExit(true)
    (ИЛИ)
  2. android.os.Process.killProcess(android.os.Process.myPid());

Я не хочу запускать свое приложение в фоновом режиме после нажатия кнопки «Выход». Pls предлагает мне, могу ли я использовать любой из этих кодов для выхода из моего приложения? Если это так, какой код я могу использовать? Это хороший способ выйти из приложения на Android?

С api 16 вы можете использовать метод finishAffinity, который, похоже, близок к закрытию всех связанных действий по имени и описанию javadoc:

this.finishAffinity ();

Завершите это действие, а также все действия сразу под ним в текущей задаче, имеющей одинаковую близость. Обычно это используется, когда приложение может быть запущено на другую задачу (например, из ACTION_VIEW типа контента, который он понимает), и пользователь использовал навигацию вверх для переключения из текущей задачи и в свою собственную задачу. В этом случае, если пользователь перешел в другие действия второго приложения, все из них должны быть удалены из исходной задачи как часть переключателя задачи.

Обратите внимание, что это завершение не позволяет доставлять результаты предыдущему действию, и если вы пытаетесь сделать это, будет выбрано исключение.

С api 21 вы можете использовать очень похожую команду

FinishAndRemoveTask ();

Завершает все действия в этой задаче и удаляет ее из списка недавних задач.

Это лучший способ выйти из приложения.

Лучшее решение для меня.

Если вам действительно нужно убить приложение, подумайте, что вам действительно нужно: почему бы не дать ОС понять, где и когда нужно освобождать ресурсы?

В противном случае, если вы абсолютно уверены, используйте

В качестве реакции на комментарий @dave appleton: Первое, что прочитал большой коммюнист / вопрос комментируемого @gabriel: Выходит ли из приложения нахмурившись?

Теперь, полагая, что у нас это есть, вопрос здесь все еще имеет ответ, поскольку код, который вам нужен, если вы делаете что-либо с выходом, – это finish() . Очевидно, что вы можете иметь более одного вида деятельности и т. Д., Но это не главное. Позволяет выполнять некоторые из прецедентов

  1. Вы хотите, чтобы пользователь оставил все из-за использования памяти и «не работал в фоновом режиме?» Doubtfull. Позвольте пользователю остановить определенные действия в фоновом режиме, но пусть ОС уничтожит любые ненужные ресурсы.
  2. Вы хотите, чтобы пользователь не переходил к предыдущему действию вашего приложения? Ну, либо настройте его так, чтобы он этого не сделал, либо вам нужен дополнительный вариант. Если большую часть времени работает back = previous-activity, не будет ли пользователь просто нажимать на него, если он хочет сделать что-то еще?
  3. Если вам нужен какой-то сброс, вы можете узнать, было ли / как / etc ваше приложение закрыто, и если ваша активность снова становится фокусом, вы можете принять меры по этому поводу, показывая новый экран вместо перезапуска, где вы были.
Читать еще:  Что такое док-станция для смартфона, ее основные возможности

Поэтому, в конце концов, конечно, finish() не убивает все, но это все еще инструмент, который вам нужен, я думаю. Если у вас есть возможность «убить все действия», я еще не нашел ее.

В андроиде отсутствует приложение , SampleActivity.this.finish (); Завершит текущую деятельность.

Когда вы переключаетесь с одного действия на другое, продолжайте заканчивать предыдущий

Я думаю, что в некоторых случаях приложение должно быть убито. Например, приложение можно использовать только после входа в систему. Активность входа в систему состоит из двух кнопок: «login» и «cancel». Когда вы нажимаете кнопку «отменить», это определенно означает «Завершить приложение». Никто не хочет, чтобы приложение было живым на заднем плане. Поэтому я согласен, что в некоторых случаях необходимо закрыть приложение.

Я не уверен, что это нахмурилось или нет, но вот как я это делаю …

Шаг 1 – Обычно у меня есть класс, который содержит методы и переменные, к которым я хочу получить доступ во всем мире. В этом примере я назову его классом «App». Создайте переменную static Activity внутри класса для каждого действия, которое имеет ваше приложение. Затем создайте статический метод «close», который будет запускать метод finish() для каждой из этих переменных Activity, если они НЕ равны нулю . Если у вас есть основная / родительская деятельность, закройте ее последним:

Шаг 2 – в каждой из ваших действий переопределите onStart() и onDestroy() . В onStart() установите статическую переменную в вашем классе App равным « this ». В onDestroy() установите его равным null . Например, в классе «Activity1»:

Шаг 3. Когда вы хотите закрыть приложение, просто вызовите App.close() из любого места. Все созданные действия будут закрыты! Поскольку вы только закрываете действия, а не убиваете приложение (как в ваших примерах), Android может взять на себя оттуда и провести необходимую очистку.

Опять же, я не знаю, будет ли это неодобрительно по какой-либо причине. Если это так, я хотел бы прочитать комментарии о том, почему это так и как его можно улучшить!

Вам лучше использовать finish() если вы находитесь в Activity или getActivity().finish() если вы находитесь в Fragment .

Если вы хотите полностью закрыть приложение, используйте:

Я думаю, что вы ищете

Это зависит от того, насколько быстро вы хотите закрыть приложение.

Безопасный способ закрыть приложение – finishAffinity ();

Он закрывает ваше приложение после завершения обработки всех процессов. Это может потребоваться некоторое время. Если вы закрываете приложение таким образом и перезапустите его через короткое время, возможно, что ваше новое приложение работает в том же процессе. Со всеми незавершенными процессами и одноэлементными объектами старого приложения.

Если вы хотите быть уверенным, что ваше приложение полностью закрыто, используйте System.exit (0);

Это немедленно закроет ваше приложение. Но возможно, что вы повредите файлы, открытые для вашего приложения, или редактирование по общим предпочтениям не завершено. Поэтому используйте это внимательно.

Если вы используете сторожевой таймер в сочетании с долговременной задачей, вы можете увидеть влияние различных методов.

Это убивает ваше приложение через 2 секунды без отображения диалогового окна ANR или чего-то подобного. Если вы удалите System.exit (0) , запустите этот код и перезапустите приложение после его закрытия, вы столкнетесь с каким-то странным поведением, потому что бесконечный цикл все еще работает.

Вы можете использовать finishAndRemoveTask () из API 21

Завершает все действия в этой задаче и удаляет ее из списка недавних задач.

Является ли отказ от приложения неодобрительным? , Перейдите по этой ссылке. Это отвечает на ваш вопрос. Система выполняет работу по убийству приложения.

Предположим, что у вас есть два действия A a B. Вы перемещаетесь от A к B. Когда вы нажимаете кнопку «Назад», ваша активность B выталкивается из стопки и уничтожается. Предыдущее действие в активности заднего стека A берет фокус.

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

Public void finish()

Назовите это, когда ваша деятельность будет завершена и должна быть закрыта.

Предположим, у вас много действий. Вы можете использовать панель действий. При щелчке на домашнем значке naviagate на MainActivity вашего приложения. В MainActivity нажмите кнопку «Назад», чтобы выйти из приложения.

Правильное и точное решение о выходе из приложения при нажатии кнопки используется нижеприведенный код:

Если вы будете использовать только finishAffinity (); Без System.exit (0); Ваше приложение перестанет работать, но выделенная память по-прежнему будет использоваться вашим телефоном, поэтому … если вы хотите, чтобы чистый и действительно вышел из приложения, используйте их оба.

Это самый простой метод и работает в любом месте, прекратите приложение для реального, вы можете открыть много активности, все равно оставите без проблем.

Пример нажатием кнопки

Или если вы хотите что-то приятное, например, с диалоговым окном предупреждения с 3 кнопками ДА НЕТ и ОТМЕНА

Это нехорошее решение, потому что это противоречит принципам обработки приложений Android. Android не убивает никакого процесса, если это абсолютно неизбежно. Это помогает приложениям запускаться быстрее, потому что они всегда хранятся в памяти. Поэтому вам нужна особая причина, чтобы убить процесс вашего приложения.

Это может быть очень поздно, а также в соответствии с руководящими принципами, которые вы не должны сами выполнять с процессом жизненного цикла (как это делает os для вас). Было бы предположение, что вы регистрируете широковещательный приемник во всех своих действиях с помощью функции « finish() » в onReceive() и всякий раз, когда вы хотите выйти, вы можете просто передать намерение, указывающее, что все действия должны быть закрыты ….. Хотя Убедитесь, что вы « onDestroy() регистрацию» получателя в onDestroy() .

С вашей деятельности на высшем уровне:

Вы можете полностью использовать свои приложения. таким образом

Он будет работать на 100%. Удачи!

Просто используйте финиш () на задней клавише нажмите onKeypressed ()

Как исправить приложения Andro >

Телефоны Andro > Помимо игр, видео и приложений для социальных сетей, мы делаем регулярные звонки, делаем видеовызовы и делаем много других вещей, которые требуют того, чтобы телефон все время хорошо работал.

Время от времени, телефоны не могут справиться с нашими чрезмерными требованиями. Обычный вопрос заключается в том, как исправить приложения Android, которые автоматически закрываются самостоятельно. У нас есть некоторые решения, которые помогут вам устранить проблему, чтобы вы могли наслаждаться лучшим опытом работы с Android.

Но, прежде чем перейти к решениям, вот несколько причин, которые могут привести к этой проблеме:

Сетевые проблемы

Приложения, зависящие от Интернета, могут в конечном итоге дать сбой, если у вас нестабильная сеть или, если вы делаете переход с мобильного интернета к Wi-Fi-соединению. В то время как лучшие приложения будут работать отлично, приложения с более слабым кодом, возможно, не смогут преуспеть в таких ситуациях.

Ошибки в приложении

Если у вас есть ошибка в приложении, которое вы используете, ошибка может привести к автоматическому закрытию приложения. Обязанность исправления таких приложений в первую очередь лежит на разработчике приложения. Убедитесь, что вы обновили свои приложения, чтобы исправить ошибки.

Читать еще:  Как в билайн подключить "роуминг налегке"

Вам может понравиться:

Перегрузка процессора или неправильное использование памяти

Каждый телефон построен так, чтобы выдерживать определенный уровень использования. Некоторые пользователи в конечном итоге перенагружают процессор, устанавливая приложения, которые не подходят для телефона. Это создает нестабильность в приложении, что приводит к его сбою.

Вот некоторые из наиболее распространенных причин, которые приводят к автоматическому сбою приложений. В большинстве случаев причина проблемы облегчит вам определение правильного решения.

Решения для исправления Android-приложений, которые сами закрываются

Решение 1. Обновите приложение

Приложения должны всегда использовать свою обновленную версию, потому что в ней уже исправлены любые известные ошибки или баги. Разработчики регулярно выпускают обновления для решения проблем пользователей с приложением. Существует вероятность того, что приложение начнет давать сбой, поскольку оно работает на старой версии, которая не обладает возможностями производительности своей обновленной версии.

  1. Перейдите в Play Маркет
  2. Нажмите на значок меню (три горизонтальные полосы) слева от строки поиска
  3. Нажмите Мои приложения и игры
  4. Из списка установленных приложений и игр найдите приложение, вызывающее проблемы, и проверьте, подсвечена ли кнопка обновления рядом с ним.
  5. Нажмите Обновить, если кнопка подсвечена, и последняя версия приложения будет установлена на вашем устройстве.

После обновления приложения проверьте, была ли проблема решена.

Решение 2: Свободное место в вашем устройстве

Многим приложениям требуется достаточно много свободного места для создания новых файлов или хранения данных, созданных при использовании приложений. Когда в телефоне или планшете заканчивается память, приложению становится сложно создавать данные. Многие устройства имеют большое хранилище, но, если у вас слишком много приложений и файлов данных, занимающих место, ваше приложение может вылетать. Легкий способ решить эту проблему — найти приложения, которые вы долго не использовали, и удалить их. Вы также можете использовать приложения Android для очистки старых и нежелательных файлов с устройства.

Решение 3. Очистка кэша приложений и данных приложений

Если приложение часто падает, вы можете устранить проблему, очистив кэш приложения и его данные. Кэш-файлы приложений включают данные, которые ускоряют производительность приложения. Удаление файлов кэша не приведет к потере важных данных. Файл будет автоматически создан при открытии приложения в следующий раз, хотя вы можете заметить небольшую задержку при открытии приложения после удаления файлов кэша. Это происходит потому, что файлы кэша создаются заново.

С другой стороны, файлы данных приложений включают важные данные, такие как пароли и другую информацию, которая персонализирует приложение под вас. Очищая файл данных, вы потеряете конфигурацию приложения, и его придется переконфигурировать.

  1. Перейдите в меню Настройки вашего устройства
  2. Нажмите Приложения
  3. Найдите приложение, вызывающее проблему, и нажмите на него
  4. Нажмите Очистить кэш
  5. Затем нажмите Очистить данные и нажмите ОК, когда появится предупреждение о том, что данные, связанные с конфигурацией приложения, будут потеряны.

Как только файлы кэша и данных будут очищены, у вас будет возможность начать все заново с этим приложением. Проверьте, устраняет ли это проблему.

Решение 4. Удалите приложения, которые вы не используете

  1. Нажмите значок Настройки в шторке уведомлений
  2. Найдите Приложения и нажмите на них
  3. Поищите приложения, которые вам не нужны
  4. Нажмите на них, и у вас либо будет возможность удалить, либо отключить их.

После удаления приложений, которые вы не используете, перезагрузите устройство и проверьте, исправлена ли проблема закрывающегося приложения.

Дополнительные советы:

В дополнение к этим решениям, имейте в виду следующее, дабы убедиться, что Android устройство работает хорошо и приложения работают бесперебойно:

  1. Помните о производительности телефона при установке мощных приложений. Если ваш телефон создан для среднего использования, вы не сможете запускать тяжеловесные игры и приложения, которые могут нанести ущерб процессору. Для тяжелых приложений требуется высокая производительность устройства.
  2. Не забудьте иметь всегда достаточно места для хранения в телефоне, чтобы приложения могли легко создавать файлы данных. Неадекватное пространство часто может быть основной причиной многих проблем.
  3. Некоторые приложения хорошо работают на некоторых устройствах Android и не работают на других. Проблема в том, что разработчики не имеют возможности тестировать каждое приложение на всех устройствах Android. В большинстве случаев вы можете видеть, как определенная группа пользователей столкнулась с проблемой, и видеть это можно через форумы или обратную связь с приложениями. Может и вы принадлежите к такой группе пользователей? В этом случае вам, возможно, придется подождать, пока разработчик заставит приложение работать на вашем устройстве, или вам может быть лучше удалить приложение.

Используйте эти решения и советы, чтобы решить проблему вылетающих приложений Android. Хотя это лучшие способы решения проблемы, но если у вас есть полезные решения, которые работают для вас, тогда дайте нам знать.

Вылетают приложения на Андроид, как исправить

Вылетают приложения на Андроид, как исправить. Многие сталкивались с таким неприятным событием, как аварийное закрытие программ на смартфоне. В этой статье мы разберемся, почему вылетают приложения на Андроид, и как эту проблему можно это исправить.

Почему вылетают приложения на Андроид

Почему вылетают приложения на Андроид, основные причины:

  1. Нехватка оперативной памяти или мощности процессора.
  2. Отсутствие оптимизации. Задача разработчика — оптимизировать приложение под все возможные конфигурации устройств на Андроид. Нет оптимизации — будут ошибки.
  3. Устаревшая версия Андроид или ошибки в установленной прошивке.

Также причиной вылетов может стать вирусное ПО на смартфоне. Скачать антивирус можно ЗДЕСЬ

Что делать если вылетают приложения на Андроид, как исправить

Первый и самый простой совет — перезагрузите ваше устройство. Часто возникают ошибки, которые решаются простой перезагрузкой. Также может помочь очистка данных и кэша приложения или его переустановка. К примеру, если вылетает приложение ВКонтакте на Андроид, сделайте так:

  1. Зайдите в настройки
  2. Выберите пункт «Все приложения»
  3. Выберите в списке приложение ВКонтакте
  4. Очистите данные и кэш или удалите приложение, а потом установите заново

Если вылетают игры на Андроид или тяжелые приложения, вы можете закрыть запущенные программы, которыми в данный момент не пользуетесь. Это освободит оперативную память и снизит риск вылета тяжелых приложений. Есть специальные утилиты, которые автоматически закрывают запущенные приложения и тем самым оптимизируют оперативную память, например – Clean Master . Но злоупотреблять ими мы не советуем, так как приложениям на Андроид требуется больше ресурсов для запуска из выключенного состояния, чем для возобновления работы из спящего. Так что постоянное закрытие приложений приведет к понижению скорости работы устройства.

Еще одна причина вылета приложений — устаревшая версия Андроид или ошибки в установленной прошивке. Можно сделать сброс к заводским настройкам, это вернет стандартные параметры системы. Имейте в виду, что практически на всех устройствах сброс к заводским настройкам приводит к удалению всех ваших данных и медиафайлов. Подробнее можно узнать в нашей статье Как сделать сброс на Андроид .

Если приложение не поддерживается вашей версией Андроид — поможет прошивка на более актуальную версию, официальную или кастомную .

Некачественные приложения – это распространенное явление, из-за них может страдать вся система. Если постоянно вылетают приложения на Андроид из-за ошибок самого приложения, напишите об этом комментарий разработчикам в Play Market или на указанный в описании приложения электронный адрес.

Что делать, если приложение тормозит?

Если вам нужно запустить слишком тяжелую для вашего устройства программу или игру, можете отключить фоновые приложения — это освободит больше ресурсов для работы нужной программы. Но все равно лучше запускать только те приложения, системные требования которых соответствуют техническим характеристикам вашего устройства.

Как выйти из приложения Android

253 Vignesh [2011-06-13 15:08:00]

Я нашел несколько кодов для программного приложения Android. Вызов любого из следующего кода в onDestroy() будет ли он полностью закрыть приложение?

  • System.runFinalizersOnExit(true)
    (ИЛИ)
  • android.os.Process.killProcess(android.os.Process.myPid());

Я не хочу запускать свое приложение в фоновом режиме после нажатия кнопки “Выход”. Pls предлагает мне, могу ли я использовать любой из этих кодов для выхода из своего приложения? Если это так, какой код я могу использовать? Это хороший способ выйти из приложения на Android?

Читать еще:  Как в билайне добавить в черный список

29 ответов

309 sivi [2015-01-04 15:51:00]

Начиная с API 16 вы можете использовать метод finishAffinity, который, похоже, близок к закрытию всех связанных действий по его имени и описанию Javadoc:

this.finishAffinity();

Завершите это действие, а также все действия сразу под ним в текущей задаче, имеющей одинаковую близость. Обычно это используется, когда приложение может быть запущено на другую задачу (например, из ACTION_VIEW типа содержимого, которое она понимает), и пользователь использовал навигацию вверх для переключения из текущей задачи и в свою собственную задачу. В этом случае, если пользователь перешел в другие действия второго приложения, все они должны быть удалены из исходной задачи как часть переключателя задачи.

Обратите внимание, что это финиш не позволяет доставлять результаты предыдущему действию, и если вы попытаетесь сделать это, будет выбрано исключение.

Поскольку API 21 вы можете использовать очень похожую команду

finishAndRemoveTask();

Завершает все действия в этой задаче и удаляет их из списка недавних задач.

138 Devon [2014-09-03 14:03:00]

это лучший способ выйти из приложения.

Лучшее решение для меня.

29 Nanne [2011-06-13 15:13:00]

Подумайте о том, действительно ли вам нужно убить приложение: почему бы не позволить ОС определить, где и когда нужно освобождать ресурсы?

В противном случае, если вы абсолютно уверены, используйте

Как реакция на комментарий @dave appleton: Первое, что прочитал большой вопрос/ответ, комбо @gabriel отправлено: Отказался от приложения, нахмурившегося?

Теперь, предполагая, что у нас это есть, вопрос здесь все еще имеет ответ, поскольку код, который вам нужен, если вы делаете что-либо с выходом, finish() . Очевидно, что вы можете иметь более одного вида деятельности и т.д., Но это не так. Позволяет выполнять некоторые из прецедентов

  • Вы хотите, чтобы пользователь оставил все из-за использования памяти и “не работал в фоновом режиме?” Doubtfull. Позвольте пользователю остановить определенные действия в фоновом режиме, но пусть ОС уничтожит любые ненужные ресурсы.
  • Вы хотите, чтобы пользователь не переходил к предыдущему действию вашего приложения? Ну, либо настройте его так, чтобы он этого не сделал, либо вам нужен дополнительный вариант. Если в большинстве случаев работает back = previous-activity, не будет ли пользователь просто нажимать домой, если он хочет сделать что-то еще?
  • Если вам нужен какой-то reset, вы можете узнать, было ли /how/etc ваше приложение закрыто, и если ваша активность снова становится фокусом, вы можете принять меры по этому поводу, показывая новый экран вместо перезапуска, где вы были.

Итак, в конце концов, finish() не убивает все, но это все еще инструмент, который вам нужен, я думаю. Если у вас есть “убить все действия”, я еще не нашел его.

Если вы будете использовать только finishAffinity(); без System.exit(0); ваше приложение будет закрыто, но выделенная память по-прежнему будет использоваться вашим телефоном, поэтому. если вы хотите, чтобы чистый и действительно вышел из приложения, используйте оба из них.

Это самый простой метод и работает в любом месте, выйдите из приложения на самом деле, вы можете открыть много активности, все равно оставите без проблем.

пример нажатием кнопки

или если вы хотите что-то приятное, например, с диалоговым окном предупреждения с 3 кнопками ДА НЕТ и ОТМЕНА

17 sunghun [2012-04-13 05:03:00]

Я думаю, что приложение должно быть убито в каком-то случае. Например, приложение можно использовать только после входа в систему. Активность входа имеет две кнопки: “логин” и “отмена”. Когда вы нажимаете кнопку “Отменить”, это определенно означает “Завершить приложение”. Никто не хочет, чтобы приложение было живым в фоновом режиме. Поэтому я согласен, что в некоторых случаях необходимо закрыть приложение.

16 san [2012-06-12 08:07:00]

В андроиде отсутствует приложение, SampleActivity.this.finish(); завершит текущую деятельность.

Когда вы переключаетесь с одного действия на другое, продолжайте заканчивать предыдущий

9 vivek [2018-06-14 15:26:00]

Создайте ExitActivity и объявите его в манифесте. И вызовите ExitActivity.exit(context) для выхода из приложения.

Это зависит от того, насколько быстро вы хотите закрыть свое приложение.

Безопасный способ закрыть приложение: finishAffinity();

Он закрывает ваше приложение после завершения обработки всех процессов. Это может потребоваться некоторое время. Если вы закрываете приложение таким образом и перезапустите его через короткое время, возможно, что ваше новое приложение работает в том же процессе. Со всеми незавершенными процессами и одноэлементными объектами старого приложения.

Если вы хотите быть уверенным, что ваше приложение полностью закрыто, используйте System.exit(0);

Это немедленно закроет ваше приложение. Но возможно, что вы повредите файлы, открытые вашим приложением, или редактирование по общим предпочтениям не завершено. Поэтому используйте это внимательно.

Если вы используете сторожевой таймер в сочетании с долговременной задачей, вы можете увидеть влияния различных методов.

Это убивает ваше приложение через 2 секунды без отображения диалогового окна ANR или чего-то подобного. Если вы удалите System.exit(0), запустите этот код и перезапустите приложение после его закрытия, вы столкнетесь с каким-то странным поведением, потому что бесконечный цикл все еще запущен.

7 Vins [2016-01-22 14:00:00]

Вы можете использовать finishAndRemoveTask () из API 21

Завершает все действия в этой задаче и удалит их из списка недавних задач.

Вам лучше использовать finish() , если вы находитесь в Activity или getActivity().finish() , если находитесь в Fragment .

Если вы хотите полностью закрыть приложение, используйте:

6 Jabari [2013-05-30 08:07:00]

Я не уверен, что это неодобрительно, но это так, как я это делаю.

Шаг 1 – У меня обычно есть класс, содержащий методы и переменные, к которым я хочу получить доступ во всем мире. В этом примере я назову его классом “App”. Создайте переменную static Activity внутри класса для каждого действия, которое имеет ваше приложение. Затем создайте статический метод “close”, который будет запускать метод finish() для каждой из этих переменных Activity , если они НЕ являются нулевыми. Если у вас есть основная/родительская активность, закройте ее последним:

Шаг 2 – в каждом из ваших действий, переопределите методы onStart() и onDestroy() . В onStart() установите статическую переменную в вашем классе App равным ” this “. В onDestroy() установите его равным null . Например, в классе “Activity1”:

Шаг 3 –. Когда вы хотите закрыть приложение, просто вызовите App.close() из любого места. Все созданные действия будут закрыты! Поскольку вы только закрываете действия, а не убиваете приложение (как в ваших примерах), Android может свободно принимать оттуда и делать необходимую очистку.

Опять же, я не знаю, будет ли это недоверчиво по какой-либо причине. Если это так, я хотел бы прочитать комментарии о том, почему это так и как его можно улучшить!

5 Ciprian [2013-06-28 11:45:00]

Я думаю, что вы ищете, это

5 twenk11k [2018-06-18 11:25:00]

Прежде всего, для этого подхода требуется min Api 16.

Я разберу это решение на 3 части, чтобы решить эту проблему более широко.

1. Если вы хотите закрыть приложение в действии, используйте этот фрагмент кода:

2. Если вы хотите выйти из приложения в классе non Activity, который имеет доступ к Activity, то используйте этот фрагмент кода:

3. Если вы хотите выйти из приложения в классе non Activity и не можете получить доступ к Activity, например Service, я рекомендую вам использовать BroadcastReceiver. Вы можете добавить этот подход ко всем своим действиям в свой проект.

Создайте переменные экземпляра LocalBroadcastManager и BroadcastReceiver. Вы можете заменить getPackageName() + “. Closeapp”, если хотите.

Добавьте их в метод onCreate() Activity.

Кроме того, не забудьте вызвать деблокирующий приемник по методу onDestroy()

Для приложения quit необходимо отправить широковещательную рассылку с помощью LocalBroadcastManager, которую я использую в своем классе PlayService, который расширяет Service.

Ссылка на основную публикацию
Adblock
detector