Как игнорировать навигацию жестами в окне из LifecycleService?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как игнорировать навигацию жестами в окне из LifecycleService?

Сообщение Anonymous »

У меня есть приложение, которое создает наложенную кнопку, которая остается поверх других приложений и позволяет пользователю запускать некоторые действия. Одним из действий является перетаскивание, которое позволяет пользователю изменять положение кнопки на экране.
Я управляю наложением и всеми действиями с его помощью внутри LifecycleService, а сама кнопка добавляется с помощью WindowManager.
Чтобы кнопка не сильно мешала работе пользователя в других приложениях, после освобождения наложения я перемещаю ее по обе стороны экрана.
У меня возникли проблемы в Android SDK 29 и более поздних версиях, когда на устройстве включена навигация с помощью жестов. Поскольку наложение остается на краях экрана, как только пользователь начинает действие перетаскивания, также срабатывает обратная навигация системы, останавливая мое действие наложения и превращая работу пользователя в кошмар.
Я пробовал использовать systemGestureExclusionRects, размещая exclusionRect там, где находится кнопка, и обновляя этот прямоугольник каждый раз, когда пользователь меняет положение кнопки, но, очевидно, Android игнорирует прямоугольники исключения, исходящие из окон, которые не прикреплены к активность.
Как я могу заставить систему игнорировать навигацию с помощью жестов, когда пользователь пытается использовать мое наложение?

Подробнее здесь: https://stackoverflow.com/questions/798 ... cleservice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»