首页 > 解决方案 > 测试应用程序图标徽章编号是否在 Android 中显示的适当方法是什么?

问题描述

SO中有很多与华为图标徽章相关的线程,例如How to show App Icon Badge Numbers on Huawei,我已经阅读了徽章的官方文档

我认为官方文档已经足够好了,我只是想知道我们如何自动测试它?

例如,如果团队中的一位工程师错误配置了徽章相关的 SDK 文件,客户的华为手机仍然可以推送通知,但徽章编号可能不显示。

我相信图像分类技术会有所帮助,例如,我们可以通过以下方式自动对其进行测试:

  1. 安装应用程序并通过 adb shell 命令 + uiautomator登录应用程序
  2. 返回主屏幕以查看图标
  3. 从后端服务器推送通知。
  4. 截屏手机,并使用一些深度学习技术图像分类来验证它是否有徽章号码。

在这些步骤中测试它可能不是最好的方法,我想知道是否有任何本地 API 来获取徽章编号?

标签: androidandroid-espressohuawei-mobile-serviceshuawei-developers

解决方案


查找此类信息的最佳方法是查找开源应用程序,例如设置或启动器应用程序:

如果您想验证通知徽章是打开还是关闭,您可以执行以下操作:

Settings.Secure.getInt(context.contentResolver, "notification_badging")

这甚至记录在Settings类中,但设置名称 ( Settings.Secure.NOTIFICATION_BADGING) 是隐藏(内部)API 的一部分。但它仍然有效,至少它适用于普通 Android。对于华为设备,您必须自己测试。

获取徽章数量,不知道能不能直接获取。从上面的第二个链接中,您似乎必须创建一个通知侦听器来计算传入的通知。


推荐阅读