Запись и отправка события касания Android - PullRequest
0 голосов
/ 14 июля 2020

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

dispatchTouchEvent(MotionEvent.obtain(0,0,MotionEvent.ACTION_DOWN, x,y,0.5f,5f,0,1f,1f,1,0));
Thread.sleep(100)
dispatchTouchEvent(MotionEvent.obtain(0,0,MotionEvent.ACTION_UP, x,y,0.5f,5f,0,1f,1f,1,0));

Итак, я подумал, что, может быть, я смогу прослушивать события касания и сохранять их в arraylist, а затем отправлять их . Но он не работает.

val events = ArrayList<MotionEvent>()
containerView.setOnTouchListener { v, event ->
    if (isRecordingEnabled) {
        events.add(event)
    }
    return@setOnTouchListener false
}

playBtn.setOnClickListener {
    for (e in events) {
        containerView.dispatchTouchEvent(e);
    }
}

Я что-то упустил? как я могу go решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...