通知角标
通知角标
应用未读的通知,OpenHarmony提供了角标设置接口,将未读通知个数显示在桌面图标的右上角角标上。
通知增加时,角标上显示的未读通知个数需要增加。
通知被查看后,角标上显示的未读通知个数需要减少,没有未读通知时,不显示角标。
接口说明
通知服务提供了两种增加角标数的方法:
发布通知时,在NotificationRequest的badgeNumber字段里携带,桌面收到通知后,在原角标数上累加、呈现。
调用接口setBadgeNumber设置,桌面按设置的角标数呈现。
角标数减少,目前仅支持通过setBadgeNumber设置。
接口名 | 描述 |
---|---|
setBadgeNumber(badgeNumber: number, callback: AsyncCallback<void>): void | 设置角标个数 |
开发步骤
导入NotificationManager模块。
import notificationManager from '@ohos.notificationManager';
1增加角标个数。
发布通知在NotificationRequest的badgeNumber字段里携带,可参考通知发布章节。
示例为调用setBadgeNumber接口增加角标,在发布完新的通知后,调用该接口。
function setBadgeNumberCallback(err) { if (err) { console.info(`Set badge failed code is ${err.code}, message is ${err.message}`); } else { console.info(`Set badge success`); } } let badgeNumber = 10 notificationManager.setBadgeNumber(badgeNumber, setBadgeNumberCallback);
1
2
3
4
5
6
7
8
9
10减少角标个数
一条通知被查看后,应用需要调用接口设置剩下未读通知个数,桌面刷新角标。
function setBadgeNumberCallback(err) { if (err) { console.info(`Set badge failed code is ${err.code}, message is ${err.message}`); } else { console.info(`Set badge success`); } } let badgeNumber = 9 notificationManager.setBadgeNumber(badgeNumber, setBadgeNumberCallback);
1
2
3
4
5
6
7
8
9
10