Я пытаюсь записать событие касания пользователя и воспроизвести его. Когда я работал над проектом, я смог имитировать событие щелчка, используя 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 решить эту проблему?