哪里网站备案最快,在线做字网站,微信公众号怎么建网站,万网有域名怎么建网站针对未读的通知#xff0c;系统提供了角标设置接口#xff0c;将未读通知个数显示在桌面图标的右上角角标上。
通知增加时#xff0c;角标上显示的未读通知个数需要增加。
通知被查看后#xff0c;角标上显示的未读通知个数需要减少#xff0c;没有未读通知时#xff0…针对未读的通知系统提供了角标设置接口将未读通知个数显示在桌面图标的右上角角标上。
通知增加时角标上显示的未读通知个数需要增加。
通知被查看后角标上显示的未读通知个数需要减少没有未读通知时不显示角标。 一、接口说明
当角标设定个数取值0时表示清除角标。取值大于99时通知角标将显示99。
1、增加角标数支持如下两种方法
1发布通知时在NotificationRequest的badgeNumber字段里携带桌面收到通知后在原角标数上累加、呈现。
2调用接口setBadgeNumber()设置桌面按设置的角标数呈现。
2、减少角标数目前仅支持通过setBadgeNumber()设置。
接口名描述setBadgeNumber(badgeNumber: number, callback: AsyncCallbackvoid): void设置角标个数。 二、开发步骤
1、导入NotificationManager模块。
import { notificationManager } from kit.NotificationKit;
import { hilog } from kit.PerformanceAnalysisKit;
import { BusinessError } from kit.BasicServicesKit;const TAG: string [PublishOperation];
const DOMAIN_NUMBER: number 0xFF00;
2、增加角标个数。
发布通知在NotificationRequest的badgeNumber字段里携带可参考通知发布章节。
示例为调用setBadgeNumber接口增加角标在发布完新的通知后调用该接口。
let setBadgeNumberCallback (err: BusinessError): void {if (err) {hilog.error(DOMAIN_NUMBER, TAG, Failed to set badge number. Code is ${err.code}, message is ${err.message});return;}hilog.info(DOMAIN_NUMBER, TAG, Succeeded in setting badge number.);
}let badgeNumber 9;
notificationManager.setBadgeNumber(badgeNumber, setBadgeNumberCallback);
3、减少角标个数。
一条通知被查看后应用需要调用接口设置剩下未读通知个数桌面刷新角标。
let setBadgeNumberCallback (err: BusinessError): void {if (err) {hilog.error(DOMAIN_NUMBER, TAG, Failed to set badge number. Code is ${err.code}, message is ${err.message});return;}hilog.info(DOMAIN_NUMBER, TAG, Succeeded in setting badge number.);
}let badgeNumber 8;
notificationManager.setBadgeNumber(badgeNumber, setBadgeNumberCallback); 三、常见问题
由于setBadgeNumber为异步接口使用setBadgeNumber连续设置角标时为了确保执行顺序符合预期需要确保上一次设置完成后才能进行下一次设置。 反例 每次接口调用是相互独立的、没有依赖关系的实际执行时无法保证调用顺序。 示例如下
let badgeNumber: number 10;
notificationManager.setBadgeNumber(badgeNumber).then(() {hilog.info(DOMAIN_NUMBER, TAG, setBadgeNumber 10 success.);
});
badgeNumber 11;
notificationManager.setBadgeNumber(badgeNumber).then(() {hilog.info(DOMAIN_NUMBER, TAG, setBadgeNumber 11 success.);
});
正例 多次接口调用存在依赖关系确保上一次设置完成后才能进行下一次设置。 示例如下
let badgeNumber: number 10;
notificationManager.setBadgeNumber(badgeNumber).then(() {hilog.info(DOMAIN_NUMBER, TAG, setBadgeNumber 10 success.);badgeNumber 11;notificationManager.setBadgeNumber(badgeNumber).then(() {hilog.info(DOMAIN_NUMBER, TAG, setBadgeNumber 11 success.);});
}); 参考文档中心