Android - Как определить, когда пользователь нажимает последнее приложение?
Я хочу разработать пользовательский модуль запуска Android для планшета Samsung, где пользователь может выйти из модуля запуска только с вводом пароля.
В настоящее время я столкнулся с проблемой в недавней кнопке приложения. Если пользователь нажимает кнопку недавнего приложения, а затем щелкает последнее приложение, а затем нажимает кнопку "нажата", устройство переходит к программе запуска TouchWiz, даже если я уже установил свой модуль запуска в качестве модуля запуска по умолчанию. Кроме того, я отключаю панель уведомлений, чтобы пользователь не мог получить к ней доступ. Однако, когда он переходит в TouchWiz через нажатие в недавнем приложении, уведомление также отключается, оно должно быть в состоянии в панели запуска TouchWiz.
Мое предлагаемое решение состоит в том, чтобы определить, когда пользователь щелкает последнее приложение, и запрещать любые действия, которые могут вызвать изменения текущего представления.
2 ответа
Я не могу обнаружить последнее нажатие приложения. Поэтому я использую onPause()
определить, находится ли мое приложение на переднем или заднем плане. Если есть в onPause()
тогда мое приложение на заднем плане, если да, я делаю startActivity(myLauncher)
поэтому другое приложение не будет запущено.
Ты можешь проверить onWindowFocusChanged
метод. Вы активность получите обратный вызов по этому методу, когда вы нажимаете последние приложения или нажмите кнопку назад от него. Когда вы нажимаете на недавние приложения, hasFocus будет иметь значение false, а при повторном нажатии - true.