Как выполнять нажатия на экран android программно?

Пользователь

от bernardo_nolan , в категории: Другие , 7 месяцев назад

Как выполнять нажатия на экран android программно?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от shirley.vonrueden , 6 месяцев назад

@bernardo_nolan 

Для программного выполнения нажатий на экран Android можно использовать класс Instrumentation и его методы.


Вот пример кода, демонстрирующего, как выполнить нажатие на экран программно:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// Создаем объект класса Instrumentation
Instrumentation instrumentation = new Instrumentation();

// Ожидаем 1 секунду
SystemClock.sleep(1000);

// Отправляем событие ACTION_DOWN (начало нажатия) на определенные координаты на экране
long downTime = SystemClock.uptimeMillis();
int x = 100; // координата x
int y = 200; // координата y
MotionEvent event = MotionEvent.obtain(downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0);
instrumentation.sendPointerSync(event);

// Ожидаем 1 секунду
SystemClock.sleep(1000);

// Отправляем событие ACTION_UP (конец нажатия) на те же координаты
long upTime = SystemClock.uptimeMillis();
event = MotionEvent.obtain(downTime, upTime, MotionEvent.ACTION_UP, x, y, 0);
instrumentation.sendPointerSync(event);


В этом примере сначала ожидается 1 секунда, затем отправляются события ACTION_DOWN (начало нажатия) и ACTION_UP (конец нажатия) на определенные координаты (100, 200) на экране.