提交 0e733b1d 编写于 作者: F fangJinliang1

add new ability

Signed-off-by: NfangJinliang1 <fangjinliang1@huawei.com>
Change-Id: Ia7135c9add353dbda2aa103226515aeef8ab328c
Signed-off-by: NfangJinliang1 <fangjinliang1@huawei.com>
上级 e0f0d81c
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
- [静态订阅公共事件(仅对系统应用开放)](common-event-static-subscription.md) - [静态订阅公共事件(仅对系统应用开放)](common-event-static-subscription.md)
- [取消动态订阅公共事件](common-event-unsubscription.md) - [取消动态订阅公共事件](common-event-unsubscription.md)
- [公共事件发布](common-event-publish.md) - [公共事件发布](common-event-publish.md)
- [移除粘性公共事件](common-event-remove-sticky.md)
- [后台服务](background-services.md) - [后台服务](background-services.md)
- 线程间通信 - 线程间通信
- [线程模型](thread-model-stage.md) - [线程模型](thread-model-stage.md)
......
# 移除粘性公共事件
## 场景介绍
已发出的粘性公共事件后来订阅者也可以接收到,如果这个事件不再转发,需要事件发布者进行移除。OpenHarmony提供了粘性公共事件移除接口。
## 接口说明
参考[接口文档](../reference/apis/js-apis-commonEventManager.md)
| 接口名 | 接口描述 |
| -------- | -------- |
| removeStickyCommonEvent(event: string, callback: AsyncCallback<void>): void | 移除粘性公共事件 |
## 开发步骤
1. 导入模块。
```ts
import commonEventManager from '@ohos.commonEventManager';
```
2. 移除的粘性公共事件,必须是本应用之前已发布的粘性公共事件,发布粘性公共事件参考[公共事件发布](common-event-publish.md)章节。
```ts
CommonEventManager.removeStickyCommonEvent("sticky_event", (err) => { // sticky_event粘性公共事件名
if (err) {
console.info(`Remove sticky event AsyncCallback failed, errCode: ${err.code}, errMes: ${err.message}`);
return;
}
console.info(`Remove sticky event AsyncCallback success`);
}
});
```
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
- [通知概述](notification-overview.md) - [通知概述](notification-overview.md)
- [订阅通知(仅对系统应用开放)](notification-subscription.md) - [订阅通知(仅对系统应用开放)](notification-subscription.md)
- [使能通知开关](notification-enable.md) - [使能通知开关](notification-enable.md)
- [通知角标](notification-badge.md)
- 发布通知 - 发布通知
- [发布基础类型通知](text-notification.md) - [发布基础类型通知](text-notification.md)
- [发布进度条类型通知](progress-bar-notification.md) - [发布进度条类型通知](progress-bar-notification.md)
......
# 通知角标
应用未读的通知,OpenHarmony提供了角标设置接口,将未读通知个数显示在桌面图标的右上角角标上。
通知增加时,角标上显示的未读通知个数需要增加。
通知被查看后,角标上显示的未读通知个数需要减少,没有未读通知时,不显示角标。
## 接口说明
1. 通知服务提供了两种增加角标数的方法:
- 发布通知时,在[NotificationRequest](../reference/apis/js-apis-notificationManager.md#notificationrequest)的badgeNumber字段里携带,桌面收到通知后,在原角标数上累加、呈现。
- 调用接口[setBadgeNumber](../reference/apis/js-apis-notificationManager.md#setbadgenumber)设置,桌面按设置的角标数呈现。
2. 角标数减少,目前仅支持通过[setBadgeNumber](../reference/apis/js-apis-notificationManager.md#setbadgenumber)设置。
| **接口名** | **描述** |
| -------- | -------- |
| setBadgeNumber(badgeNumber: number, callback: AsyncCallback\<void\>): void | 设置角标个数 |
## 开发步骤
1. 导入NotificationManager模块。
```ts
import notificationManager from '@ohos.notificationManager';
```
2. 增加角标个数。
发布通知在[NotificationRequest](../reference/apis/js-apis-notificationManager.md#notificationrequest)的badgeNumber字段里携带,可参考[通知发布](text-notification.md)章节。
示例为调用setBadgeNumber接口增加角标,在发布完新的通知后,调用该接口。
```ts
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);
```
3. 减少角标个数
一条通知被查看后,应用需要调用接口设置剩下未读通知个数,桌面刷新角标。
```ts
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);
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册