import android.app.Instrumentation;
import android.content.Context;
import android.view.MotionEvent;
public class TouchUtils {
public static void tap(Instrumentation instrumentation, Context context, int x, int y) {
// 获取Instrumentation的实例
Instrumentation mInstrumentation = instrumentation;
// 将屏幕的点击事件注入到事件队列中
long downTime = System.currentTimeMillis();
long eventTime = System.currentTimeMillis();
// 创建一个点击事件
MotionEvent event = MotionEvent.obtain(
downTime,
eventTime,
MotionEvent.ACTION_DOWN,
x,
y,
0);
// 将事件注入到UI中
mInstrumentation.sendPointerSync(event);
// 发送松开事件
event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, x, y, 0);
mInstrumentation.sendPointerSync(event);
}
}
// 假设你有一个Instrumentation实例和Context实例
Instrumentation instrumentation = ...; // 获取Instrumentation实例
Context context = ...; // 获取Context实例
// 假定你要点击的位置是屏幕的中心
int x = context.getResources().getDisplayMetrics().widthPixels / 2;
int y = context.getResources().getDisplayMetrics().heightPixels / 2;
// 调用tap方法模拟点击
TouchUtils.tap(instrumentation, context, x, y);
0 条评论