Я хочу определить, когда мое приложение отправлено на задний план. Существует много вопросов о подключении ключа HOME - я понимаю, что это возможно, только зарегистрировавшись как приложение для запуска.
... НО... как всегда есть клиент, который хочет определенного поведения...
У нас есть приложение с высокими требованиями безопасности. Клиент хочет, чтобы приложение выходило из сервера, когда приложение переходит в фоновый режим по какой-либо причине (телефонный звонок, HOME-ключ, назад к последней активности) ( * *, чтобы уточнить, я имею в виду, что когда передняя активность на экран не относится к моим приложениям **).
Итак, если я не могу зацепить ключ HOME, какие другие параметры есть? Очевидно, что просто подключение onPause()
не поможет, потому что это Activity
-специфическое.
"Лучший", который мы придумали, состоит в том, чтобы сохранить массив ссылок на действия в нашем классе Application. В каждом действии onResume()
мы добавляем его в этот массив. В onPause()
мы удалим его. Также в onPause()
мы перечисляем этот массив, чтобы узнать, находится ли какой-либо из зарегистрированных действий на переднем плане. Если активность переднего плана не обнаружена, пользователь выйдет из системы.
Я недоволен этим как решением и надеюсь найти лучший способ.