测试应用程序图标徽章数字是否显示在 Android 中的适当方法是什么?
What's the appropriate way to test if app icon badge numbers show in Android?
SO里有很多华为图标徽章相关的帖子,比如How to show App Icon Badge Numbers on Huawei, and I have read the official document of Badges。
我觉得官方文档已经足够好了,我只是想知道我们如何自动测试它?
例如,如果团队中的一位工程师错误配置了Badge相关的SDK文件,客户的华为phone仍然可以推送通知,但Badge编号可能不显示。
我相信图像分类技术会有所帮助,例如,我们可以通过以下方式自动测试它:
- 安装应用程序并通过 adb shell 命令 + uiautomator
登录应用程序
- 返回主屏幕以查看图标
- 从后端服务器推送通知。
- 截图 phone,并使用一些深度学习技术图像分类来验证上面是否有徽章编号。
在这些步骤中测试它可能不是最好的方法,我想知道是否有任何原生的 API 来获取徽章号码?
查找此类信息的最佳方法是查找开源应用,例如设置或启动器应用:
-
-
如果您想验证通知徽章是否打开或关闭,您可以这样做:
Settings.Secure.getInt(context.contentResolver, "notification_badging")
这甚至记录在 Settings
class 中,但设置名称 (Settings.Secure.NOTIFICATION_BADGING
) 是隐藏(内部)API 的一部分。但它仍然有效,至少它对股票有效 Android。华为设备请自行测试。
徽章数的获取,不知道能不能直接获取。从上面的第二个 link 看来,您似乎必须制作一个通知侦听器来计算传入的通知。
SO里有很多华为图标徽章相关的帖子,比如How to show App Icon Badge Numbers on Huawei, and I have read the official document of Badges。
我觉得官方文档已经足够好了,我只是想知道我们如何自动测试它?
例如,如果团队中的一位工程师错误配置了Badge相关的SDK文件,客户的华为phone仍然可以推送通知,但Badge编号可能不显示。
我相信图像分类技术会有所帮助,例如,我们可以通过以下方式自动测试它:
- 安装应用程序并通过 adb shell 命令 + uiautomator 登录应用程序
- 返回主屏幕以查看图标
- 从后端服务器推送通知。
- 截图 phone,并使用一些深度学习技术图像分类来验证上面是否有徽章编号。
在这些步骤中测试它可能不是最好的方法,我想知道是否有任何原生的 API 来获取徽章号码?
查找此类信息的最佳方法是查找开源应用,例如设置或启动器应用:
如果您想验证通知徽章是否打开或关闭,您可以这样做:
Settings.Secure.getInt(context.contentResolver, "notification_badging")
这甚至记录在 Settings
class 中,但设置名称 (Settings.Secure.NOTIFICATION_BADGING
) 是隐藏(内部)API 的一部分。但它仍然有效,至少它对股票有效 Android。华为设备请自行测试。
徽章数的获取,不知道能不能直接获取。从上面的第二个 link 看来,您似乎必须制作一个通知侦听器来计算传入的通知。