Autojs常用知识点讲解
AutoJs存在很多碎片化知识,开发脚本常用的功能,我们将这些内容提炼出来,单独讲解,随用随学
【关闭应用】关闭指定APP
【脚本引擎】防止脚本二次启动
【本地储存】批量保存输入框内容
【悬浮窗】通过UI界面按钮启动悬浮窗
【脚本引擎】防止脚本二次启动
【UI界面】ui界面中显示滚动文字或广告
"ui";
ui.layout(
<vertical>
<TextView id="ad" singleLine="true" ellipsize="marquee" focusable="true" text="广告文本阿涛QQ/微信:656206105 公众号:立体空间 官网:www.litikj.com 广告文本" textColor="#ff010100"/>
</vertical>
);
ui.ad.setSelected(true);
【正则】取出中间文本
function getStr(str,start,end){
let reg = start + "(.*?)" + end
let res = str.match(new RegExp(reg));
return res ? res[1] : null
}
【控件查找】findOne()、findOnce()、find()三个方法的区别
【加解密】base64加解密
//base64加密
function base64(str) {
return java.lang.String(android.util.Base64.encode(java.lang.String(str).getBytes(), 0));
}
//base64解密
function deBase64(str) {
return java.lang.String(android.util.Base64.decode(java.lang.String(str).getBytes(), 0));
}
【语法解析】什么是返回控件对象,什么是链式调用
【坐标】详细的坐标讲解 | 竖屏/横屏取坐标
- 开启指针坐标
- 使用屏幕的宽度和高度获取坐标
- swipe滑动
【加密】取MD5值
//取md5值
function getMd5(string) {
return java.math.BigInteger(1, java.security.MessageDigest.getInstance("MD5").digest(java.lang.String(string).getBytes())).toString(16);
};
【IP地址】获取内网IP和外网IP
importClass('java.net.Inet4Address');
importClass('java.net.InetAddress');
importClass('java.net.NetworkInterface');
importClass('java.util.Enumeration');
importClass('java.net.Inet6Address');
//获取内网IP地址
var hostIp = null;
try{
var nis = NetworkInterface.getNetworkInterfaces();
var ia = null;
while (nis.hasMoreElements()) {
var ni = nis.nextElement();
var ias = ni.getInetAddresses();
while (ias.hasMoreElements()) {
ia = ias.nextElement();
if (ia instanceof Inet6Address) {
continue;
}
var ip = ia.getHostAddress();
if (!"127.0.0.1".equals(ip)) {
hostIp = ia.getHostAddress();
break;
}
}
}
} catch (e) {
log(e);
}
log(hostIp);
//获取外网ip地址
var getIp_api = http.get('http://pv.sohu.com/cityjson?ie=utf-8');
var InetIP = getIp_api.body.string();
eval(InetIP);
log(returnCitySN.cip);
【正则表达式】匹配网址
var res = str.match(/(\w+):\/\/([\w.]+)/g)
【时间】获取网络时间
获取时间地址:http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp