Как перехватить motionEvents и keyEvents, которые генерируются при взаимодействии пользователя с пользовательским интерфейсом

1

Я пытался перехватить motionEvents и keyEvents, которые генерируются из пользовательского взаимодействия с пользовательским интерфейсом. До сих пор я изучил эти варианты:

  1. инъекция dex (слишком сложная)
  2. расширил мой класс активности, перехватывая motionEvents, используя dispatchTouchEvent, регистрируя событие и передавая его супер. dispatchTouchEvent (это потребует расширения всех классов активности для моего измененного класса и, возможно, ограничения моего приложения, которое уже использует dispatchTouchEvent)
  3. Использование инструментария для добавления слушателей в приложение (неудачная попытка, не знаю, возможно ли это)

В основном, что я пытаюсь сделать, это реализовать рекордер событий, поэтому, захватив движение и ключевые события, я могу создать воспроизведение записи. Одно из ограничений, которое у меня есть, - это возможность присоединить эту запись к любому андроидному приложению, поэтому мне нужно свести к минимуму мофодирование кода рекордера в самом приложении, например, я хотел бы добавить несколько банок, а затем инициализировать их в приложении следующим образом:

            public class Calculator extends Activity {

            public void onCreate(Bundle savedInstanceState) {

                initialize recorder here
            //application code
            }
            //calculator application code here
            }

Примечание. Расширение класса активности до специального класса, который имеет код, который захватывает события с помощью dispatchTouchEvent, а затем расширяет любой другой класс активности из этого специального класса, не является хорошей идеей, потому что если в исходном действии есть некоторый код для dispatchTouchEvent, тогда эта функция не будет работать в расширенный специальный класс.

Также приветствуются решения с точки зрения ОС без изменения кода ОС (включая c, c++)

Теги:
user-interface

1 ответ

0

Вы упомянули использование прослушивателей событий, прочитали ли вы эту страницу?

http://developer.android.com/guide/topics/ui/ui-events.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню