首先写一个发送广播的脚本
发送激活路飞的广播.js

// 发送广播:  android.intent.action.激活路飞
var action="android.intent.action.激活路飞"
app.sendBroadcast(
  {
    action:action,
    extras:{
      name:'哦雷瓦路飞'
    }
  }
);
log('发送了广播',action)

再写一个接收广播的脚本
我是被intent激活的路飞.js

// 如果一个脚本是用intent"启动"的,比如定时任务中的特定事件(网络状态变化等)触发而启动的,则可以通过engines.myEngine().execArgv.intent获取启动的intent,从而获取外部参数。
// 先做一个脚本,设置为定时任务
// 定时任务/特定时间触发运行/其他事件
var r=engines.myEngine().execArgv.intent
log('engines.myEngine().execArgv.intent=')
log(r)
// Intent { act=android.intent.action.激活路飞 flg=0x10 (has extras) }
log('我收到的参数=')
log(r.extras.pairValue)
// 哦雷瓦路飞
log('我是被intent激活的路飞')
// 广播名字是: android.intent.action.激活路飞

打印接收到的完整广播

let intent = engines.myEngine().execArgv.intent;
if (intent == null) {
  toastLog("请使用定时任务运行此脚本");
  exit();
}
log("action = ", intent.action);
log("package = ", intent.package);
log("data = ", intent.data);
let extras = intent.extras;
log("extras = ", intent.extras);
if (extras) {
  let str = "{\n";
  let iter = extras.keySet().iterator();
  while (iter.hasNext()) {
    let key = iter.next();
    let value = extras.get(key);
    str += "  " + key + ": " + value;
    str += ", \n";
  }
  str += "}";
  log(str);
}

上面那个是灶猫写的

  • 4
    帖子
  • 690
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待