注释很详细,直接上代码
自动点击授予权限的操作
javascript
//安卓版本高于Android 9
if(device.sdkInt>28){
//等待截屏权限申请并同意
threads.start(function () {
packageName('com.android.systemui').text('立即开始').waitFor();
text('立即开始').click();
});
}
截图查相应位置颜色的常规操作
javascript
//查询屏幕宽高(单位像素)
/*
var x=device.width
var y=device.height
*/
//设置设置脚本坐标点击所适合的屏幕宽高
//如果脚本运行时,屏幕宽度不一致会自动放缩坐标
setScreenMetrics(x,y)
//显示控制台输出框
console.show()
//请求截图权限
//每次使用该函数都会弹出截图权限请求,建议选择"总是允许"。
if(!requestScreenCapture()){
toast("请求截图失败");
exit();
}
sleep(1000)
//获取手机中程序所在的目录
var pos = files.cwd()
path_1=pos+"/jt_1.jpg"
//截图
images.captureScreen(path_1)
//读取对应的图片内容
var img_1=images.read(path_1)
//查找该图片对应坐标位置的颜色值(返回的是数字型)
var cor_1_num=images.pixel(img_1, 915,272)
//转化为字符串型
var col_1_string=colors.toString(cor_1_num)
//打印一下看看效果
console.info(col_1_string)
获取并保存图片的操作
javascript
//图片网络地址
url="https://img-home.csdnimg.cn/images/20231127094140.jpg"
//获取手机中程序所在的目录
var pos = files.cwd()
//拼接路径
path_1=pos+"/img_1.jpg"
path_2=pos+"/img_2.jpg"
//载入图片
var img_1=images.load(url)
//保存图片(第一种)
//1.保存的图片
//2.保存的路径
//3.保存的格式
//4.保存的图片质量(0~100)
images.save(img_1, path_1, format = "jpg", quality = 100)
//保存图片(第二种)
img_1.saveTo(path_2)
相似类颜色位置搜索常规操作
javascript
//申请权限
requestScreenCapture();
//暂停一会
sleep(2000)
//找到颜色(#354df8)得到坐标
var img = captureScreen();
//匹配对应颜色
//region的内容分别是所查找区域的左上角坐标,区域的宽高
//threshold的内容是相似度
var point = findColor(img, "#354df8", {
region: [0, 0, 1080, 2400],
threshold: 4});
//如果找到
if(point){
toastLog("找到对应,坐标为(" + point.x + ", " + point.y + ")");
}
//验证一下颜色
var cor_num=images.pixel(img, point.x,point.y)
var img_string=colors.toString(cor_num)
log(img_string)