回答
你可以通过 Hamibot 的 events 模块监听系统通知栏事件,并获取通知的标题、内容、包名等信息。需要先调用 events.observeNotification() 开启通知监听,然后使用 events.on('notification', callback) 注册回调函数来处理通知。
以下是完整的代码示例:
// 文档地址 https://docs.hamibot.com/
// 等待无障碍服务启动
auto.waitFor();
// 开始监听通知栏事件
events.observeNotification();
// 注册通知接收事件
events.on('notification', function(n) {
var packageName = n.getPackageName();
var title = n.getTitle();
var text = n.getText();
var when = new Date(n.when); // 转换为可读时间
var number = n.number; // 通知数量(如合并通知)
log('收到通知:');
log('时间: ' + when.toLocaleString());
log('应用包名: ' + packageName);
log('标题: ' + title);
log('内容: ' + text);
log('数量: ' + number);
log('------------------------');
});
说明:
n.getPackageName():获取发送通知的应用包名(例如com.tencent.mobileqq)。n.getTitle():获取通知的标题。n.getText():获取通知的正文内容。n.when:通知发出的时间戳,可用于构造Date对象。n.number:在某些情况下(如消息合并),表示该通知包含的消息条数。
注意事项:
- 需要开启无障碍服务并授予 Hamibot 通知监听权限。
- 在部分 Android 系统上(如 MIUI、EMUI),需手动在设置中允许“通知使用权”。
- 应用必须正在运行或处于后台保活状态才能持续接收通知事件。
你可以在脚本开头添加日志提示,确保无障碍服务已正确启用。
ℹ️ 本回答由 AI 生成,内容仅供参考