harmony 鸿蒙订阅通知(仅对系统应用开放)
订阅通知(仅对系统应用开放)
应用需要接收通知,必须先发起订阅,通知子系统提供两种接口:订阅所有应用发布的通知和订阅某些应用发布的通知。
系统提供NotificationSubscriber对象,用于提供订阅成功、通知接收、通知取消、订阅取消等回调接口,将变化信息回调给订阅者。
接口说明
通知订阅主要接口如下。详细接口介绍请参见API参考。
表1 通知订阅接口介绍
接口名 | 描述 |
---|---|
subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback<void>): void | 订阅指定应用通知。 |
subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback<void>): void | 订阅所有通知。 |
表2 通知订阅回调接口介绍
接口名 | 描述 |
---|---|
onConsume?:(data: SubscribeCallbackData) => void | 通知回调。 |
onCancel?:(data: SubscribeCallbackData) => void | 通知取消回调。 |
onUpdate?:(data: NotificationSortingMap) => void | 通知排序更新回调。 |
onConnect?:() => void; | 订阅成功回调。 |
onDisconnect?:() => void; | 取消订阅回调。 |
onDestroy?:() => void | 与通知子系统断开回调。 |
onDoNotDisturbDateChange?:(mode: notification.DoNotDisturbDate) => void | 免打扰时间选项变更回调。 |
onEnabledNotificationChanged?:(callbackData: EnabledNotificationCallbackData) => void | 通知开关变更回调。 |
开发步骤
申请
ohos.permission.NOTIFICATION_CONTROLLER
权限,配置方式请参见访问控制授权申请。导入通知订阅模块。
import notificationSubscribe from '@ohos.notificationSubscribe';
import Base from '@ohos.base';
- 创建订阅者对象。
let subscriber:notificationSubscribe.NotificationSubscriber = {
onConsume: (data:notificationSubscribe.SubscribeCallbackData) => {
let req = data.request;
console.info(`onConsume callback. req.id: ${req.id}`);
},
onCancel: (data:notificationSubscribe.SubscribeCallbackData) => {
let req = data.request;
console.info(`onCancel callback. req.id: ${req.id}`);
},
onUpdate: (data) => {
console.info(`onUpdate callback. req.id: ${data.sortedHashCode}`);
},
onConnect: () => {
console.info(`onConnect callback.}`);
},
onDisconnect: () => {
console.info(`onDisconnect callback.}`);
},
onDestroy: () => {
console.info(`onDestroy callback.}`);
},
};
- 发起通知订阅。
notificationSubscribe.subscribe(subscriber, (err:Base.BusinessError) => { // callback形式调用异步接口
if (err) {
console.error(`Failed to subscribe notification. Code is ${err.code}, message is ${err.message}`);
return;
}
});
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦