Удаление приложения из «Обзор» принудительно останавливает его [с / без рута] - PullRequest
0 голосов
/ 03 апреля 2020

Я столкнулся с трудной проблемой.

Тестовое устройство, которое мне нужно для выполнения задачи на : Устройство: Micromax Bharat 5 Plus (модель 2018) Android Версия: 7.0

У меня есть приложение Android, которое критически полагается на уведомления pu sh. Однако используемое устройство имеет системную настройку по умолчанию, которая приводит к тому, что приложения, которые удаляются с вкладки «Обзор», имеют значение Полностью остановлено . Это устройство имеет 2 ГБ ОЗУ, что делает этот параметр понятным. Однако из-за этого любой вид службы / задачи / уведомления приложения не может быть выполнен.

Чтобы попытаться изменить этот параметр, я попробовал несколько разных вещей:

  • Изменены и отменены все оптимизации батареи
  • Установить высокий приоритет для всех уведомлений, связанных с указанным приложением
  • Фильтры намерений, фоновый сервис, START_STICKY

Но принудительная остановка останавливает все процессы приложения. Там нет возможности изнутри кода приложения. Таким образом, я рутировал устройство и пробовал следующие опции root:

  • Удалил все системные приложения, которые потребляли ненужную оперативную память
  • Использовал Memory Locker, чтобы изменить приоритет приложения OOM_adj на -17 (самое низкое значение)

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

Вещи, которые могут работать, но не нашли пути:

  • Добавление способа навсегда «заблокировать» приложение в ящике, не позволяя пользователю удалить его (не заботясь о UX )
  • Полная прошивка другого пользовательского ПЗУ, имеющего другие системные настройки по умолчанию (я не смог найти ни одного пользовательского ПЗУ для этого довольно необычного устройства)
  • Изучение способа изменения настройки по умолчанию «Принудительно» остановка приложений при удалении из ящика. (Идеально, но как?)

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

1 Ответ

0 голосов
/ 04 апреля 2020

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

Я нашел решение (скопировано из Skype).

Просто добавьте эту строку в свой (манифест) активность запуска.

android:excludeFromRecents="true"

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

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

...