остановка пользователя от принудительной остановки моего приложения - PullRequest
0 голосов
/ 18 декабря 2018

Об Android (от 6.0 до последней версии)

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

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

Спасибо !!

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Обычно вы не можете!Даже если вы попытаетесь отключить некоторые кнопки, пользователь всегда может остановить приложение или перезапустить устройство.Кроме того, время от времени ОС останавливает приложение.Ваша ответственность как программиста состоит в том, чтобы программировать вокруг этого, и дать пользователю ощущение, что он никогда не останавливался.Если вы делаете фоновый мониторинг, вам нужно будет использовать сервис.Пользователи по-прежнему смогут остановить службу.Сказав это, вы можете установить свое приложение как приложение Администрирования устройства, см. здесь , что может запретить остановку, но если вы не распространяете его внутри компании, никто не установит.

0 голосов
/ 18 декабря 2018

невозможно запретить пользователю убивать приложение .Android - это уникальная система, в которой приложение не имеет прямого контроля над своим жизненным циклом, но система имеет.Система может (и будет при необходимости) уничтожать приложение или любые его процессы по собственному желанию.Чтобы ваше приложение знало об этих изменениях, платформа Android предоставляет различные обратные вызовы, такие как onPause, onStop и onDestroy, которые вызываются последовательно, когда пользователь убивает приложение.

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

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

Так что же делать?

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

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

Tl; dr: Use Режим киоска , чтобы пользователь не мог выйти из приложения.Это позволит только пользователю получать доступ к вашим приложениям на своем устройстве.

...