android模拟点击屏幕
时间: 2023-09-04 10:15:24 浏览: 60
在 Android 中模拟点击屏幕,需要使用 `Instrumentation` 类的 `sendPointerSync` 方法。以下是一个简单的示例代码:
```java
// 获取当前 Activity 的 Instrumentation 对象
Instrumentation instrumentation = new Instrumentation();
// 模拟点击屏幕,x 和 y 分别为点击位置的横坐标和纵坐标
int x = 100;
int y = 200;
MotionEvent event = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, x, y, 0);
instrumentation.sendPointerSync(event);
event = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, x, y, 0);
instrumentation.sendPointerSync(event);
```
需要注意的是,上述代码需要在 UI 线程中执行,否则会抛出 `CalledFromWrongThreadException` 异常。如果需要在非 UI 线程中模拟点击,可以使用 `Handler` 或 `runOnUiThread` 方法将代码切换到 UI 线程。