桌面应用角标适配说明更新时间: 2024-09-25 19:56:00

一、默认逻辑

当应用向通知栏发送了一条通知 (除了进度条样式和常驻通知外),应用图标的右上角就会显示「1」。角标的数字代表应用的通知数,即应用发送了「x」条通知,角标就会显示为「x」。

二、开发者如何设置桌面角标

1、MIUI6-MIUI11桌面应用角标适配方法

可通过反射调用设置桌面角标,参考代码如下:

try {
Field field = notification.getClass().getDeclaredField(“extraNotification”);
Object extraNotification = field.get(notification);
Method method = extraNotification.getClass().getDeclaredMethod(“setMessageCount”, int.class);
method.invoke(extraNotification, mCount);
} catch (Exception e) {
e.printStackTrace();
}

2、MIUI12及以后桌面应用角标适配方法

由于Google屏蔽了hideAPI的反射调用,因此MIUI12及以后可以使用notification.number,可参照Android开发者文档https://developer.android.google.cn/reference/android/app/Notification#number,参考代码如下:

Notification notification = new Notification.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle(textTitle)
.setContentText(textContent)
.setNumber(int number)
.build();

三、如何判断MIUI版本

可参考文档MIUI 10 通知样式及能力适配说明,其中6.1节有具体方法说明。

四、联系我们

有任何问题欢迎随时联系我们:

产品问题:zhangruxin@xiaomi.com

研发问题:zhaoman1@xiaomi.com

文档内容是否有帮助?
有帮助
无帮助