У меня есть приложение, которое, за исключением некоторых ситуаций, которые должным образом контролируются, должно быть завершено, если он потерял фокус (кнопка «Назад», кнопка «Домой», кнопка задач и т. Д.).
Для этого я устанавливаю переменнуюв onWindowsFocusChanged как true, эта переменная позже проверяется в onStop и, если она истинна (кроме некоторых других условий), она завершит работу приложения.Это работает примерно в 98% случаев.
Но в остальных случаях onStop выполняется до onWindowsFocusChanged, что приводит к тому, что приложение не завершается должным образом.
Единственное, о чем я могу думатьof устанавливает бесконечный цикл в onStop, который проверяет переменную, которую устанавливает onWindowsFocusChanged, но меня беспокоит то, что при некоторых обстоятельствах, если приложение находится в бесконечном цикле, оно никогда не будет запускать событие onWindowFocusChanged и никогда не будетконец, что является довольно серьезной проблемой.
Есть ли какой-нибудь способ гарантировать порядок выполнения, о котором я говорю, предпочтительно без использования бесконечного цикла?