ByteNoteByteNote

字节笔记本

2026年2月21日

Auto.js 调用微信和支付宝扫一扫功能

API中转
¥120

本文介绍一个实用的 Auto.js 脚本,展示如何通过 Intent 机制直接调用微信和支付宝的扫一扫功能,无需手动打开应用再点击扫码按钮。

什么是 Auto.js

Auto.js 是一款基于 JavaScript 的 Android 自动化工具,它允许开发者编写脚本来控制 Android 设备,实现各种自动化操作。通过调用 Android 系统底层的 API,Auto.js 可以模拟点击、滑动、启动应用等操作。

代码解析

调用微信扫一扫

javascript
function toWeChatScan() {
    try {
        toast("正在打开微信扫一扫…");
        // 利用Intent打开微信
        app.startActivity({
            "action": "VIEW",
            "packageName": "com.tencent.mm",
            "className": "com.tencent.mm.ui.LauncherUI",
            "extras": {
                "LauncherUI.From.Scaner.Shortcut": true
            }
        })
    } catch (e) {
        // 若无法正常跳转,在此进行错误处理
        toast("无法跳转到微信,请检查您是否安装了微信!");
    }
}

核心原理

  • 使用 app.startActivity() 启动微信应用
  • 指定 packageNamecom.tencent.mm(微信的包名)
  • 通过 extras 参数传递 LauncherUI.From.Scaner.Shortcut: true,直接跳转到扫一扫界面

调用支付宝扫一扫

javascript
function toAliPayScan() {
    try {
        toast("正在打开支付宝扫一扫…");
        // 利用Intent打开支付宝
        // 支付宝跳过开启动画打开扫码和付款码的url scheme分别是:
        // alipayqr://platformapi/startapp?saId=10000007(扫一扫)
        // alipayqr://platformapi/startapp?saId=20000056(付款码)
        var uri = new Uri.parse("alipayqr://platformapi/startapp?saId=10000007");
        var intent = new Intent(Intent.ACTION_VIEW, uri);
        app.startActivity(intent);
    } catch (e) {
        // 若无法正常跳转,在此进行错误处理
        toast("无法跳转到支付宝,请检查您是否安装了支付宝!");
    }
}

核心原理

  • 使用支付宝的 URL Scheme 机制:alipayqr://platformapi/startapp?saId=10000007
  • 通过 Intent.ACTION_VIEW 解析 URI 并启动对应页面
  • saId=10000007 对应扫一扫功能,saId=20000056 对应付款码功能

前置条件

使用此脚本需要:

  1. 安装 Auto.js 应用:需要在 Android 设备上安装 Auto.js 或 Auto.js Pro
  2. 开启无障碍服务:Auto.js 需要无障碍权限才能执行自动化操作
  3. 安装目标应用:设备上需已安装微信或支付宝

使用场景

  • 快速启动扫码功能,减少操作步骤
  • 集成到自动化工作流中
  • 创建快捷方式或桌面小部件,一键扫码

注意事项

  • 微信的跳转方式依赖于微信内部 Activity 名称,若微信更新可能会失效
  • 支付宝的 URL Scheme 相对稳定,但也可能随版本更新而变化
  • 建议在实际使用前进行兼容性测试

相关链接

分享: