Переключение тем понижает фокус для активности на Android 6 - PullRequest
1 голос
/ 28 апреля 2020

Кто-нибудь когда-либо сталкивался со сценарием, в котором вы используете AppCompatDelegate для изменения темы, а затем, если вы нажмете кнопку возврата на go для предыдущего действия, с этим действием нельзя будет взаимодействовать. Я вижу следующие ошибки, когда я нажимаю

Dropping event due to no window focus: MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=245.0, y[0]=928.9525, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=2, eventTime=80728630, downTime=80727874, deviceId=15, source=0x1002 }

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

Мой точный сценарий - у меня есть Активность, которую я использую. Я решил сменить тему, чтобы я go перешел в меню настроек и изменил их. Затем я сделал ответный удар, чтобы выйти из настроек моей первоначальной активности. После смены темы я могу взаимодействовать в настройках активности. Только после того, как я оставляю настройки с помощью кнопки «Назад», я теряю способность взаимодействовать.

ПРИМЕЧАНИЕ. У современных Android 10 устройств такой проблемы нет, только у моих старых Android 6.0.1.

1 Ответ

1 голос
/ 01 мая 2020

Доступна новая версия appcompat, которая должна решить вашу проблему, 1.2.0-beta01. Похоже, что в версии alpha03 они решили эту проблему:

Исправлена ​​проблема, при которой остановленные действия не возобновлялись на уровне API 23 и ниже ( I45201 )

Вы можете найти более подробную информацию на странице релизов appcompat .

Обновите файл build.gradle, чтобы иметь следующую ссылку на библиотеку, и вам следует подойти к go:

implementation 'androidx.appcompat:appcompat:1.2.0-beta01'

...