Получение сенсорных событий (координаты, MotionEvents и т. Д.) В службе - PullRequest
7 голосов
/ 15 июля 2011

Как я могу получить сенсорные события, как вы можете из Activity, используя public boolean onTouchEvent(MotionEvent event)?Очевидно, нет onTouchEvent метода для переопределения в сервисе, так как я могу это сделать?Есть ли прямой путь или надежный обходной путь?

Моя идея состоит в том, чтобы создать службу, которая слушает в фоновом режиме, чтобы пользователь мог сделать определенный жест, а затем сделать что-то, когда этот пользователь сделал правильный жест,Спасибо!

РЕДАКТИРОВАТЬ: Этот вопрос предназначен для ответа на этот вопрос .

1 Ответ

0 голосов
/ 29 июля 2011

Вы можете создать представление 0x0 и добавить его в окно Сервиса в виде системного диалога, который всегда находится сверху.

Вы можете прослушивать события, используя разрешение 'WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH'. К сожалению, вы можете получить только начальное сенсорное событие, и вы не можете передать событие на более низкую активность. Я рад, что вы не можете сделать это на самом деле; Можете ли вы представить, как вредоносная программа будет использовать это для получения учетных данных пользователя.

...