Как остановить в андроиде автоматическую загрузку приложений. Как на "Андроиде" отключить автозапуск приложений: способы и рекомендации. Простой способ убрать программы из автоматической загрузки

Показывает, что тема получения сообщения ACTION_BOOT_COMPLETED остается актуальной и по сей день. Как видно, многие новички сталкиваются с проблемой: они не получают в своих приложениях сообщение ACTION_BOOT_COMPLETED. В этой статья я попробую резюмировать данные из официальной документации, опыт многих разработчиков из stackoverflow.com, а также свой опыт. Итак, как же победить этого «коварного врага» под названием «ACTION_BOOT_COMPLETED»?

1. Теория

Взглянув на примеры из официального источника (например, этот и этот) и изучив рекомендации на сайте stackoverflow.com, можно выделить следующие правила:
  1. В манифесте в элементе «manifest» указать разрешение:

  2. В манифесте в элементе «application» зарегистрировать ваш ресивер на прием сообщения ACTION_BOOT_COMPLETED:


    или


    Используйте правильное полное или относительное имя класса вашего broadcast-ресивера. В описании ресивера без необходимости не указывайте атрибуты «enabled», «exported» и т.д. Вполне достаточно настроек и атрибутов по умолчанию.

  3. Код вашего broadcast-ресивера:

    Public class BootCompletedReceiver extends BroadcastReceiver { public BootCompletedReceiver() { } public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { // ваш код здесь } } }
    Если ваш ресивер используется только для сообщения ACTION_BOOT_COMPLETED, то проверка «if» не обязательна. Однако иногда разработчики используют один и тот же ресивер для разных сообщений. В этом случае фильтруйте сообщения, проверяя их внутри метода onReceive.

  4. Приложение должно быть установлено на внутреннюю память. ОС Android устроена таким образом, что сообщение ACTION_BOOT_COMPLETED отправляется приложениям перед монтированием внешний памяти. Поэтому приложения, установленные на внешней памяти, никогда не получат это сообщение . Чтобы указать системе не устанавливать приложение на внешнюю память, в манифесте НЕ нужно прописывать для атрибута "@android:installLocation" значения «auto» или «preferExternal». По умолчанию, т.е. если этот атрибут не указан, ОС установит ваше приложение только на внутреннюю память. Однако согласно официальной документации лучше явно указать значение «internalOnly», чтобы у вас и других разработчиков не возникло искушение в будущем указать иное значение.

  5. После установки или принудительной остановки (force stop) приложение должно быть запущено хотя бы один раз, чтобы система «запомнила» это приложение для отправки ему сообщения ACTION_BOOT_COMPLETED. Такое поведение было реализовано в версии Android 3.1 в целях безопасности. В чем суть? Все только что установленные приложения находятся в состоянии «stopped» (не путать с активити, т.к. ОС управляет этим состоянием у приложений и активити по-разному). В это же состояние приложение «уходит», когда пользователь в настройках телефона принудительно его останавливает. Пока приложение находится в таком состоянии, оно не будет запущено системой ни по какой причине (например, через ACTION_BOOT_COMPLETED), исключая, конечно же, запуск самим пользователем. Благодаря такому нововведению немалая часть«вирусни и троянцев» перестала работать, т.к. уже нет возможности запуститься автоматом после установки.

    Исключение составляют системные приложения: см. замечание пользователя kolipass .

  6. Особенности режима Fast boot в HTC-устройствах. Известно, что HTC-устройства не перезагружаются в классическом смысле, а используют так наз. режим Fast boot (это одна из форм гибернации), сохраняя состояние ОС на диск. Поэтому сообщение ACTION_BOOT_COMPLETED не отправляется системой, т.к. в действительности перезагрузка не происходит (). Вместо ACTION_BOOT_COMPLETED система может отправить следующие сообщения:


    В вашем приложении укажите в теге «receiver» кроме ACTION_BOOT_COMPLETED также вышеуказанные сообщения. Кроме этого необходимо прописать разрешение в дополнение к п.1:

2. Практика: ошибки и особенности эксплуатации

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

3. Отладка ресивера в эмуляторе и на реальных устройствах.


Итоги

Чтобы ваше приложение запускалось при загрузке на всех устройствах, манифест как минимум должен выглядеть так:


Код ресивера, как правило, будет таким:

Public class BootCompletedReceiver extends BroadcastReceiver { public BootCompletedReceiver() { } public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { Toast toast = Toast.makeText(context.getApplicationContext(), context.getResources().getString(R.string.your_message), Toast.LENGTH_LONG); toast.show(); Log.d("myapp", context.getResources().getString(R.string.your_message); // ваш код здесь } } }
Надеюсь, эта статья поможет новичкам побороть «коварного врага» под названием «ACTION_BOOT_COMPLETED».

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

А причина такой метаморфозы кроется в том, что во многих программах и сервисах добавлена функция автозагрузки и, стартуя одновременно с запуском операционной системы, они продолжают работать в фоновом режиме, буквально съедая системные ресурсы и заряд батареи. Автозагрузка Андроид и как от неё избавиться – вот об этом наш сегодняшний материал.

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

С помощью стандартных инструментов (для версии не ниже Android 4.0)

В главном меню своего аппарата заходим в «Настройки». Выбираем «Диспетчер приложений» (или «Менеджер приложений»), жмём:

В появившемся списке приложений, которые установлены на нашем гаджете выбираем нужное (мы для примера выбрали «ChatOn»). «Тапнув» по строке с названием, мы откроем параметры этой программы, где нужно нажать кнопку «Отключить». Появится предупреждение системы и запрос на подтверждение команды. Отвечаем утвердительно. Теперь, открыв список приложений, можно увидеть, что в строке с «ChatOn» указано состояние – «Отключено»:

Этот способ хорош тем, что если вдруг по каким-то причинам вам снова понадобилась отключенная программа, то вы всегда можете активировать её вернувшись к списку и нажав кнопку «Включить»:

Следует учитывать один очень важный момент. Вы, проходя шаг за шагом по перечню приложений и выключая невостребованные, можете столкнуться с ситуацией, когда открыв раздел «Сведения о приложениях» столкнётесь с тем, что кнопка «Выключить» окажется неактивной (в нашем примере это приложение G-mail):

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

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

Информационный видеоролик:

Управление автозапуском с помощью приложения (без ROOT)

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

Одной из таких утилит является AutoStart — No root . Это понятный, безо всяких «заморочек» менеджер автозапуска программ, который позволит определить те приложения, которые запускаются автоматически при включении гаджета.

Работать с «Автостартом» предельно просто: на рабочем экране расположены два переключателя, которые и позволяют либо активировать, либо (в случае надобности) отключить режим автозагрузки. Выбор нужной софтины будет происходить посредством кнопки вызова браузера приложений:

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

Чтобы на дисплей выводились уведомления о запущенных приложениях нужно поставить галочку напротив пункта «Show notification at boot-up». Программа на ставит в автозагрузку системные приложения.

Управление автозапуском с ROOT (AutoStarts)

Autostarts – одна из самых проверенных и долго присутствующих на рынке программ среди себе подобных. Большой функционал Autostarts и необходимость наличия ROOT прав накладывает на пользователя существенные риски, так как с помощью этой программы владелец Андроид устройства получает власть практически над всеми процессами операционной системы, в т.ч. и системными.

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

Итак, . А после того, как Autostarts установлен и запущен, жмём иконку на рабочем столе, после чего программа начнёт обследовать все установленные приложения. После сканирования можно увидеть всё, что вызывает автостарт. Выбираем, что нам без надобности (например, на скриншоте приложение «Сериалы»). После включения кнопки «Запретить» появится запрос на права «Суперпользователя», жмём «Предоставить» и выбранная программа будет деактивирована:

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

Подробнее о работе Autostarts:

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

Отключение автозапуска приложений несомненно должно ускорить старт в смартфоне или планшете. Без разницы андроид 5 или андроид 6 и сделать такой трюк можно без root.

Чтобы отключить элемент системы, его нужно убрать из списка автозапуска (автоматической загрузки при включении гаджета).

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

ПРИМЕЧАНИЕ: для некоторых системных приложений в андроид невозможно сделать запрет при старте, точнее после этого телефон может не работать как минимум с полным функционалом.

Способ первый отменить автозапуск приложений на андроид

ПРИМЕЧАНИЕ: этот вариант не очень эффективный, с его помощью принудительная блокировка делается, но не факт, что после перезагрузки приложения не будет автоматически запускаться, особенно если оно было встроенное производителем.

Поэтому, на этот вариант особо наедятся не стоит, но ничего другого в андроид задействовать нет – не предусмотрено разработчиком.

Как говорят что имеем, то имеем – если попытка оказалась неудачной, не пишите в комментариях не получилось (я бессилен в помощи), а переходите ко второму варианту.

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

При первом способе войдите в настройки, откройте приложения и перейдите в диспетчер приложений (на старых версиях его может не оказаться).

Выберите какое требуется отключить и нажмите на него. Я для примера на андроид 5.1 выбираю, только что установленное «Косынка».

Слева нажимаю «отключить», после чего щелкаю на «Отключить принудительно».

Теперь перезагружаю смартфон самсунг галакси и смотрим что получилось.

Как видите блокировка оказалась успешной – «Косынку» в автозапуске остановить получилось. Все сделано без root и дополнительных программ.

ПРИМЕЧАНИЕ: как обстоят дела на старых версиях андроид сейчас писать не буду, так как сейчас нет таких устройств. Только андроид 5.1, 6.0.1 и с андроид 7.0.

Способ второй запретить автозапуск приложений на андроид

Для этого варианта вам понадобится установить дополнительно программу, способную отключить автозапуск.

Таких разработок много. Одним требуется root, другие могут без него (очень многое зависит от того, что отключать). У меня есть своя подборка.

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

Если цель будет достигнута – отлично. Если нет форма комментариев в помощь – будем решать вместе.

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

Все сходятся в одном – для этого нужны программы сторонних авторов, в частности Boot Manager – системных инструментов нет.

Бесспорно – вариант, с Boot Manager прокатит с версиями андроид 2.3, 3.4, 4.4 и так далее, только root, вам также понадобится.

ПРИМЕЧАНЕИЕ: получить root доступ, на версиях от 4.0 и ниже очень легко, а вот при попытке на андроид 5, не говоря о андроид 7 барьеры непреодолимы, разве что делать перепрививку.

Кто получил root, после установки Boot Manager потребуется запустить Xposed Installer и активируйте Boot Manager, затем планшет или смартфон перезагрузите.

После запуска телефона, запускаем Boot Manager, видим список приложение в автозапуске и можете быстренько требуемые отключить.

Первая платная – вторая бесплатная и что самое важное говорится в названии – отключать можно без root прав.

Функционал у первой просто внушительной, впрочем, как для платной программы это вполне нормально.

ВНИМАНИЕ: чем меньше программ будет в автозапуске, тем быстрее запустится устройство, сохранится в резерве системная память и аккумулятор дольше продержится «на плаву».

ВАЖНО: имея суперправа, вы не намерено (по незнанию) можете отключить лишнее – результат: в лучшем случае сбой некоторых функций. Будьте осторожны. Успехов.

Года 2 мы уже видим, насколько сильно изменилась система Android и насколько серьезно ее доработали в Google, сделав ее удобной, быстрой, с плавным интерфейсом, с огромными возможностями. Теперь уверенно можно сказать, что Android ни в чем не уступает своему основному конкуренту iOS.

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

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

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

Не стоит бояться работать с BootManager. Для начала нужно установить Xposed framework, что можно скачать по этой ссылке . Для установки вам также понадобятся root-права. Заранее стоит об этом побеспокоиться.

Как только вы установите все необходимое, запустите программу BootManager и вы увидите полный список приложений, автоматически загружающихся при включении Android-устройства. Стоит отметить, что в бесплатной версии BootManager не отображаются системные приложения и можно редактировать список автозагрузки только тех приложений, которые были установлены самостоятельно.

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

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

Скачать приложение BootManager можно в Google Play маркете по данной ссылке .

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

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

Нашли ошибку? Выделите ее и нажмите Ctrl+Enter

Показывает, что тема получения сообщения ACTION_BOOT_COMPLETED остается актуальной и по сей день. Как видно, многие новички сталкиваются с проблемой: они не получают в своих приложениях сообщение ACTION_BOOT_COMPLETED. В этой статья я попробую резюмировать данные из официальной документации, опыт многих разработчиков из stackoverflow.com, а также свой опыт. Итак, как же победить этого «коварного врага» под названием «ACTION_BOOT_COMPLETED»?

1. Теория

Взглянув на примеры из официального источника (например, этот и этот) и изучив рекомендации на сайте stackoverflow.com, можно выделить следующие правила:
  1. В манифесте в элементе «manifest» указать разрешение:

  2. В манифесте в элементе «application» зарегистрировать ваш ресивер на прием сообщения ACTION_BOOT_COMPLETED:


    или


    Используйте правильное полное или относительное имя класса вашего broadcast-ресивера. В описании ресивера без необходимости не указывайте атрибуты «enabled», «exported» и т.д. Вполне достаточно настроек и атрибутов по умолчанию.

  3. Код вашего broadcast-ресивера:

    Public class BootCompletedReceiver extends BroadcastReceiver { public BootCompletedReceiver() { } public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { // ваш код здесь } } }
    Если ваш ресивер используется только для сообщения ACTION_BOOT_COMPLETED, то проверка «if» не обязательна. Однако иногда разработчики используют один и тот же ресивер для разных сообщений. В этом случае фильтруйте сообщения, проверяя их внутри метода onReceive.

  4. Приложение должно быть установлено на внутреннюю память. ОС Android устроена таким образом, что сообщение ACTION_BOOT_COMPLETED отправляется приложениям перед монтированием внешний памяти. Поэтому приложения, установленные на внешней памяти, никогда не получат это сообщение . Чтобы указать системе не устанавливать приложение на внешнюю память, в манифесте НЕ нужно прописывать для атрибута "@android:installLocation" значения «auto» или «preferExternal». По умолчанию, т.е. если этот атрибут не указан, ОС установит ваше приложение только на внутреннюю память. Однако согласно официальной документации лучше явно указать значение «internalOnly», чтобы у вас и других разработчиков не возникло искушение в будущем указать иное значение.

  5. После установки или принудительной остановки (force stop) приложение должно быть запущено хотя бы один раз, чтобы система «запомнила» это приложение для отправки ему сообщения ACTION_BOOT_COMPLETED. Такое поведение было реализовано в версии Android 3.1 в целях безопасности. В чем суть? Все только что установленные приложения находятся в состоянии «stopped» (не путать с активити, т.к. ОС управляет этим состоянием у приложений и активити по-разному). В это же состояние приложение «уходит», когда пользователь в настройках телефона принудительно его останавливает. Пока приложение находится в таком состоянии, оно не будет запущено системой ни по какой причине (например, через ACTION_BOOT_COMPLETED), исключая, конечно же, запуск самим пользователем. Благодаря такому нововведению немалая часть«вирусни и троянцев» перестала работать, т.к. уже нет возможности запуститься автоматом после установки.

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

  6. Особенности режима Fast boot в HTC-устройствах. Известно, что HTC-устройства не перезагружаются в классическом смысле, а используют так наз. режим Fast boot (это одна из форм гибернации), сохраняя состояние ОС на диск. Поэтому сообщение ACTION_BOOT_COMPLETED не отправляется системой, т.к. в действительности перезагрузка не происходит (). Вместо ACTION_BOOT_COMPLETED система может отправить следующие сообщения:


    В вашем приложении укажите в теге «receiver» кроме ACTION_BOOT_COMPLETED также вышеуказанные сообщения. Кроме этого необходимо прописать разрешение в дополнение к п.1:

2. Практика: ошибки и особенности эксплуатации

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

3. Отладка ресивера в эмуляторе и на реальных устройствах.


Итоги

Чтобы ваше приложение запускалось при загрузке на всех устройствах, манифест как минимум должен выглядеть так:


Код ресивера, как правило, будет таким:

Public class BootCompletedReceiver extends BroadcastReceiver { public BootCompletedReceiver() { } public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { Toast toast = Toast.makeText(context.getApplicationContext(), context.getResources().getString(R.string.your_message), Toast.LENGTH_LONG); toast.show(); Log.d("myapp", context.getResources().getString(R.string.your_message); // ваш код здесь } } }
Надеюсь, эта статья поможет новичкам побороть «коварного врага» под названием «ACTION_BOOT_COMPLETED».

 
Статьи по теме:
Для чего нужен сервер, какие серверы бывают
Что такое сервер? По своей сути, это мощный компьютер, который может бесперебойно выполнять разного характера задачи и обрабатывать информацию, которая поступает большим потоком. Зачастую серверные машины устанавливаются в крупных компаниях. По своей функ
Где находится главный офис
Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд». Подписаться Google – это поисковая система с дополнительными инструментами и сервисами. Можно сказать, что Google.com –
Приложения, которые облегчат жизнь преподавателю Андроид приложения которые облегчают жизнь
Современному преподавателю очень важно идти в ногу со временем, постоянно развиваться и, несмотря ни на что, оставаться профессионалами своего дела. Именно поэтому мы рады представить подборку приложений, которые каждый учитель сможет найти крайне полезны
Как убрать защитный код на нокиа
Инструкция Блокировка сим-карты осуществляется при помощи пин-кода. Это цифр, которые необходимо ввести с при включении . Данная мера безопасности предназначена для сохранности личных данных владельца в случае потери либо кражи сим-карты. В случае, если в