autojs笔记

Kill App

调用openAppSetting(packageName)方法打开系统设置中对应APP的设置页
通过控件操作点击强制停止,确认等按钮,达到杀死APP的目的
该方法巧妙的规避了通过adb shell kill或者 adb shell am force-stop方法带来的权限问题

https://yanbo92.site/autojs-kill-app/

function kill_app(packageName) {
    var name = getPackageName(packageName);
    if (!name) {
        if (getAppName(packageName)) {
            name = packageName;
        } else {
            return false;
        }
    }
    app.openAppSetting(name);
    text(app.getAppName(name)).waitFor();
    let is_sure = textMatches(/(.*强.*|.*停.*|.*结.*|.*行.*)/).findOne();
    if (is_sure.enabled()) {
        textMatches(/(.*强.*|.*停.*|.*结.*|.*行.*)/).findOne().click();
        textMatches(/(.*确.*|.*定.*)/).findOne().click();
        log(app.getAppName(name) + "应用已被关闭");
        sleep(1000);
        back();
    } else {
        log(app.getAppName(name) + "应用不能被正常关闭或不在后台运行");
        back();
    }
}

kill_app('微信')
var result = shell("am force-stop com.xingin.xhs", true);
log(result);
console.show();
if(result.code == 0){
  toast("执行成功");
}else{
  toast("执行失败!请到控制台查看错误信息");
}

Intent的使用

app.startActivity({
  action: 'android.intent.action.VIEW',
  data: 'https://www.xiaohongshu.com/user/profile/60963da8000000000100b971?xhsshare=QQ',
  packageName: 'com.xingin.xhs',
});

app.startActivity({
  action: 'android.intent.action.VIEW',
  data: 'xhsdiscover://item/62208b8400000000210369ab?open_url=/discovery/item/62208b8400000000210369ab?xhsshare=CopyLink&position=to_note-bottom-btn&browser=qq&exp_groups=wx_launch_open_app_decrement_v2_clt,wx_launch_open_app_decrement_exp,wx_launch_open_app_duration_origin,recommend_comment_hide_exp1,recommend_comment_hide_v2_exp2,recommend_comment_hide_v3_origin,supervision_exp,supervision_v2_exp,commentshow_exp1,gif_clt1,ques_clt2&url=noteDetail&xhsshare=CopyLink',
  packageName: 'com.xingin.xhs',
  className: 'com.xingin.xhs.routers.RouterPageActivity',
});

//这里category不能加[],而flags加不加都行。。
var i = app.intent({
  action:'android.intent.action.MAIN',
  category:'android.intent.category.LAUNCHER',
  packageName:"com.xingin.xhs",
  flags:[0x14000040],
  className:'com.xingin.xhs.index.v2.IndexActivityV2'
});
app.startActivity(i);

Android 开发者选线 勾选 指针位置 可以看到滑动轨迹

仿真滑动

//长距离测试
bezier_curves(400, 1800, 800, 230, 1000);
//短距离测试
//bezier_curves(400, 1000, 800, 600, 1000);

//开发者选项-指针位置,打开后可以看到滑动轨迹
//三阶贝塞尔曲线
function bezier_curves(first_x, first_y, second_x, second_y, time) {
    let curves = [time];
    let points = [
        {
            "x": random(first_x - 5, first_x + 5),
            "y": random(first_y - 5, first_y + 5)
        },{
            "x": random(first_x - 100, first_x + 100),
            "y": random(first_y, first_y + 50)
        },{
            "x": random(second_x - 100, second_x + 100),
            "y": random(second_y , second_y + 50),
        },{
            "x": random(second_x - 5, second_x + 5),
            "y": random(second_y - 5, second_y + 5)
        }
    ];
    let cx = 3.0 * (points[1].x - points[0].x);
    let bx = 3.0 * (points[2].x - points[1].x) - cx;
    let ax = points[3].x - points[0].x - 3.0 * (points[2].x - points[1].x);
    let cy = 3.0 * (points[1].y - points[0].y);
    let by = 3.0 * (points[2].y - points[1].y) - cy;
    let ay = points[3].y - points[0].y - 3.0 * (points[2].y - points[1].y);
    for (let i = 0; i < 1; i += 0.08) {
      	square = i * i;
        cube = square * i;
        let x = (ax * cube) + (bx * square) + (cx * i) + points[0].x;
        let y = (ay * cube) + (by * square) + (cy * i) + points[0].y;
        curves.push([parseInt(x), parseInt(y)]);
    }
    gesture.apply(this, curves);
}

HTTP

var url = 'http://172.16.5.26:15672/api/queues/%2F/xiaohongshu:article_detail_h5/get';

r = http.postJson(url, 
  {"count":1,"ackmode":"ack_requeue_true","encoding":"auto"},
  {headers:{
  	'Authorization': 'Basic Z3Vlc3Q6Z3Vlc3Q='
  }}
);
log(JSON.parse(JSON.parse(r.body.string())[0]["payload"])["cid"]);
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值