autojs官方文档 floating_window - 悬浮窗 显示悬浮窗,检查是否有悬浮窗权限等功能

在这里插入图片描述

autojs官方文档 floating_window - 悬浮窗

floating_window模块提供显示悬浮窗,检查是否有悬浮窗权限等功能。

由于悬浮窗模块涉及UI交互,显示悬浮窗需要在UI线程中运行,因此需要在文件开始指定:

  • "ui-thread nodejs";:仅悬浮窗,无UI页面Activity的情况
  • "ui nodejs";:既有悬浮窗,又有UI页面Activity
  • "ui-thread";:仅悬浮窗,无UI页面Activity,并且文件名本身用.node.js结尾
  • "ui";:既有悬浮窗,又有UI页面Activity,并且文件名本身用.node.js结尾

示例

"ui-thread nodejs";

const {
    createWindow } = require("floating_window");
const window = createWindow();
window.setViewFromXml(`
  <vertical bg="#ffffff">
      <text text="Node.js: ${
     process.version}" textColor="#aa0000" textSize="16" width="*"/>                
  </vertical>
`);
window.show();
$autojs.keepRunning();

Stability: 2 - Stable

events本身是一个EventEmitter

需要注意的是,事件的处理是单线程的,并且仍然在原线程执行,如果脚本主体或者其他事件处理中有耗时操作、轮询等,则事件将无法得到及时处理(会进入事件队列等待脚本主体或其他事件处理完成才执行)。

events.emitter()

返回一个新的EventEmitter。这个EventEmitter没有内置任何事件。

事件: 'exit`

当脚本正常或者异常退出时会触发该事件。事件处理中如果有异常抛出,则立即中止exit事件的处理(即使exit事件有多个处理函数)并在控制台和日志中打印该异常。

一个脚本停止运行时,会关闭该脚本的所有悬浮窗,触发exit事件,之后再回收资源。如果exit事件的处理中有死循环,则后续资源无法得到及时回收。 此时脚本会停留在任务列表,如果在任务列表中关闭,则会强制结束exit事件的处理并回收后续资源。

log("开始运行")
events.on("exit", function(){
   
    log("结束运行");
});
log("即将结束运行");

EventEmitter

Stability: 2 - Stable

EventEmitter.defaultMaxListeners

每个事件默认可以注册最多 10 个监听器。 单个 EventEmitter 实例的限制可以使用 emitter.setMaxListeners(n) 方法改变。 所有 EventEmitter 实例的默认值可以使用 EventEmitter.defaultMaxListeners 属性改变。

设置 EventEmitter.defaultMaxListeners 要谨慎,因为会影响所有 EventEmitter 实例,包括之前创建的。 因而,调用 emitter.setMaxListeners(n) 优先于 EventEmitter.defaultMaxListeners。

注意,与Node.js不同,这是一个硬性限制。 EventEmitter 实例不允许添加更多的监听器,监听器超过最大数量时会抛出TooManyListenersException。

emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码简单说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值