文章目录
主题
autoxjs是一款开源app,可以用脚本操作手机。本文主要通过脚本来关闭某个应用,例如微信,已封装成一个方法,其中有个参数989为右边距的一个值,此值是我华为nova 8 Pro获取到的,可能不同手机不一样,用来获取当前展示应用是你要关闭的应用。
网上搜到的都是打开应用信息,用强制停止关闭,本文采用另外一种方式,采用双指向上滑动来关闭应用。
代码
主要代码如下:
function stopApp(AppName){
home();
sleep(500);
var xCenter = device.width/2;
var yCenter = device.height/2;
gestures([600, [xCenter, yCenter * 2 - 50], [xCenter, yCenter * 2 - 500]]);
sleep(1000);
var frame = className("android.widget.FrameLayout").depth(1).find();
var titles = id("title").className("android.widget.TextView").depth(2).find();
var len = frame.length;
//判断向左向右,滑动几次
let curNo = -1;
let appNo = -1;
for(var t=0;t<len;t++){
if(!titles[t]){
continue;
}
var txt = titles[t].text();
var rg = frame[t].bounds().right;
if(rg == 989){ //这是我手机上的值,不知道别的手机多少
curNo = t;
}
if(txt != null && txt.indexOf(AppName) > -1){
appNo = t;
}
}
if(appNo == -1){
home();
return;
}
if(appNo < curNo){
//左滑
var num = curNo - appNo;
while( num-- > 0){
gestures([500, [xCenter, yCenter], [xCenter * 2, yCenter]]);
sleep(100);
}
} else if(appNo > curNo){
var num = appNo - curNo;
while( num-- > 0){
gestures([500, [xCenter, yCenter], [0, yCenter]]);
sleep(100);
}
}
gestures([500, [xCenter, yCenter], [xCenter, 0]],
[500, [xCenter + 50, yCenter], [xCenter + 50, 0]]);
home();
}
使用方法如下:
stopApp("微信");
问题
通过打印frame,可以获取rg值,其他部分应该不需要修改,如果有问题欢迎指正。
标签:app,xCenter,autoxjs,500,appNo,var,root,yCenter,curNo From: https://blog.csdn.net/weixin_43634622/article/details/144392296