Обработка KEYCODE_BACK в Android обработчике onKeyUp - PullRequest
0 голосов
/ 05 мая 2020

Может кто-нибудь объяснить, как работают Android ключевые события? У меня есть два приложения: одно - приложение для навигации, второе - средство запуска. Оба приложения имеют обработчики onKeyUp и обрабатывают KEYCODE_BACK. Когда навигационное приложение получает KEYCODE_BACK, оно излучает намерение HOME, которое переводит средство запуска на передний план. Когда модуль запуска получает KEYCODE_BACK, он вызывает moveTaskToBack, который должен вернуть навигационное приложение на передний план. Вот как я подозреваю, что он должен работать, но на самом деле Android ведет себя немного иначе. Когда приложение для навигации получает onKeyUp, оно излучает намерение HOME, которое переводит средство запуска на передний план, но затем средство запуска получает такое же нажатие клавиши в onKeyUp, которое возвращает приложение навигации. В пинг-понг в основном играют два приложения. Есть ли способ избежать этого?
Я не совсем понимаю, почему Android передает одно и то же нажатие клавиши в другом приложении, даже если оно уже было обработано.

...