Android 实现自动点击屏幕的方法 | 您所在的位置:网站首页 › 快捷指令自动点击屏幕 › Android 实现自动点击屏幕的方法 |
//新建一个实体类
import android.app.Activity;
import java.io.IOException;
/**
* Created by cxf on 2020/9/29
* 自动点击屏幕
*/
public class AutoTouch {
public int width = 0;
public int height = 0;
/**
* 传入在屏幕中的比例位置,坐标左上角为基准
*
* @param act 传入Activity对象
* @param ratioX 需要点击的x坐标在屏幕中的比例位置
* @param ratioY 需要点击的y坐标在屏幕中的比例位置
*/
public void autoClickRatio(Activity act, final double ratioX, final double ratioY) {
width = act.getWindowManager().getDefaultDisplay().getWidth();
height = act.getWindowManager().getDefaultDisplay().getHeight();
new Thread(new Runnable() {
@Override
public void run() {
// 线程睡眠0.1s
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 生成点击坐标
int x = (int) (width * ratioX);
int y = (int) (height * ratioY);
// 利用ProcessBuilder执行shell命令
String[] order = {"input", "tap", "" + x, "" + y};
try {
new ProcessBuilder(order).start();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
/**
* 传入在屏幕中的坐标,坐标左上角为基准
*
* @param act 传入Activity对象
* @param x 需要点击的x坐标
* @param y 需要点击的x坐标
*/
public void autoClickPos(Activity act, final double x, final double y) {
width = act.getWindowManager().getDefaultDisplay().getWidth();
height = act.getWindowManager().getDefaultDisplay().getHeight();
new Thread(new Runnable() {
@Override
public void run() {
// 线程睡眠0.1s
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 利用ProcessBuilder执行shell命令
String[] order = {"input", "tap", "" + x, "" + y};
try {
new ProcessBuilder(order).start();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
//代码中运用 /***************************定义*****************************/ //声明一个Activity public static Activity staticActivity; //初始化AutoTouch对象 public static AutoTouch autoTouch = new AutoTouch(); //在onCreate中对staticActivity赋值 staticActivity = this; /***************************使用*****************************/ //传入所在比例 autoTouch.autoClickRatio(staticActivity, 0.4375, 0.537); //出入坐标 autoTouch.autoClickPos(staticActivity, 840, 580); |
CopyRight 2018-2019 实验室设备网 版权所有 |