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 条评论