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

发表回复

您的电子邮箱地址不会被公开。