Skip to content

【问题】前台应用的判断可能存在问题 #652

Open
@chenxiccc

Description

@chenxiccc

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');"
    ]
  }
]

Screenshots(截图)
IMG_20230223_102342.jpg

IMG_20230223_102414.jpg

Version(发现问题的版本):

  • OS: Miui 14.0.3
  • Version 4.1.4-row

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requeststaleStale issue

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions