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

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

от bernardo_nolan , в категории: Другие , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от shirley.vonrueden , год назад

@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) на экране.

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

от willis.streich , 6 месяцев назад

@bernardo_nolan 

Этот пример кода демонстрирует простой способ выполнения программных нажатий на экран Android. Однако стоит учитывать, что использование класса Instrumentation может потребовать разрешений и быть доступно только в определенных случаях, например, при разработке инструментов тестирования.


Если вам нужно выполнить нажатия на экран в рамках обычного приложения или игры, вам следует рассмотреть другие способы, такие как использование обработчиков нажатий, симуляция жестов или использование сторонних библиотек.


Если вам нужно выполнить нажатия на экран для тестирования вашего приложения, то класс Instrumentation и подход, который показан в примере, будут подходящими для этой цели.