Open
Description
Describe the bug(现象描述)
Update2: 发现问题并不是出在notificationAdded,而是 前台应用的判断上。我把 !activity.getFrontAppPackage() == \"com.chehejia.oc.m01\" 删除后就可以正常运行了。
但是,实际上前台应用并非com.chehejia.oc.m01,这里前台应用判断是否存在问题?
当通知的内容(notification.content)发生变化时,无法通过notificationAdded获取。
To Reproduce(如何复现)
此情景模式脚本目的是检测 理想汽车APP的蓝牙钥匙功能发出的常驻通知,如果通知内容从“已连接”变为“未连接”,则结束掉理想汽车app。
~~实际运行下来,发现只有从没有通知到刚刚发出通知可以被捕捉到(即严格意义的notificationAdded),而通知内容从“已连接”变为“未连接”时,未被捕捉到,所以未能触发。
为方便复现,可以使用Surfboard,连接vpn后,surfboard也会发出一个常驻通知在通知内容中显示实时网速,可以检测实时网速的变化是否能被notificationAdded捕捉到。~~
我的脚本:
[
{
"name": "StopLixiangWhenLeaveCar",
"description": "StopLixiangWhenLeaveCar",
"priority": 1,
"delay": 5000,
"condition": "notificationAdded && notificationTitle == \"手机钥匙\" && pkgName == \"com.chehejia.oc.m01\"",
"actions": [
"if (notificationContent.contains(\"未连接\") && !activity.getFrontAppPackage() == \"com.chehejia.oc.m01\") killer.killPackage(\"com.chehejia.oc.m01\");"
]
}
]
Update: Sorry,通过以下脚本,可以获取Surfboard通知内容的变化。但是为什么获取不到理想汽车通知内容的变化呢?或者有其他方法检测通知内容的变化?可否告知。
可通过Surfboard复现问题的脚本:
[
{
"name": "NotiTest",
"description": "Notitest",
"priority": 1,
"condition": "notificationAdded && notificationTitle == \"Fastlink\" && pkgName == \"com.getsurfboard\"",
"actions": [
"if (notificationContent.contains(\"KB\")) ui.showShortToast('KB');"
]
}
]
Version(发现问题的版本):
- OS: Miui 14.0.3
- Version 4.1.4-row