Как проигнорировать событие касания и позволить системе Android справиться с этим? - PullRequest
0 голосов
/ 24 июня 2018

У меня есть сервис, который рисует наложение на систему. Это утилита бар. Когда пользователь нажимает на него, он появляется. Моя проблема в том, что я не хочу, чтобы он появлялся при щелчке пользователя, а когда пользователь проводил пальцем. У меня есть логика, которая может отличить клик от перетаскивания с помощью onTouchListener.

Проблема в том, что когда пользователь щелкает по нему, я хочу игнорировать касание и позволить системе Android потреблять его. Когда пользователь проведет пальцем по экрану, я хочу использовать событие и не позволять Android использовать его, потому что я заставлю мою служебную панель отображаться.

Как этого добиться? Я на API 25 (Android N).

1 Ответ

0 голосов
/ 24 июня 2018

Простой ответ: Вы не можете.

Как только оверлейный вид получает событие касания, он считается использованным и никогда не распространяется дальше.

В основном это мера безопасности, поскольку вы можете записывать и распределять координаты X, Y, это позволит реализовать клавиатурные шпионы или другой код блокировки / спуфинга кликов.

...