1# 更新通知 2 3更新已发布的通知。主要用于上传下载进度更新、IM会话消息更新等场景。 4 5## 接口说明 6 7通知发布更新接口说明详见下表,通知更新可通过入参[NotificationRequest](../reference/apis-notification-kit/js-apis-inner-notification-notificationRequest.md#notificationrequest-1)携带updateOnly字段来指定,不指定该字段默认为false。 8 9- 当updateOnly为true时,若相同ID通知存在,则更新通知;若相同ID通知不存在,则更新失败,不创建新的通知。 10 11- 当updateOnly为false时,若相同ID通知存在,则更新通知;若相同ID通知不存在,则创建通知。 12 13| **接口名** | **描述** | 14| -------- | -------- | 15| [publish](../reference/apis-notification-kit/js-apis-notificationManager.md#notificationmanagerpublish)(request: NotificationRequest, callback: AsyncCallback<void>): void | 发布更新通知。 | 16 17 18## 开发步骤 19 20下面以进度条通知发布更新为例。 21 221. 导入模块。 23 24 ```ts 25 import { notificationManager } from '@kit.NotificationKit'; 26 import { BusinessError } from '@kit.BasicServicesKit'; 27 import { hilog } from '@kit.PerformanceAnalysisKit'; 28 29 const TAG: string = '[PublishOperation]'; 30 const DOMAIN_NUMBER: number = 0xFF00; 31 ``` 32 332. 发布进度条通知。 34 35 ```ts 36 let notificationRequest: notificationManager.NotificationRequest = { 37 id: 5, 38 content: { 39 notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, 40 normal: { 41 title: 'test_title', 42 text: 'test_text', 43 additionalText: 'test_additionalText' 44 } 45 }, 46 // 构造进度条模板,name字段当前需要固定配置为downloadTemplate 47 template: { 48 name: 'downloadTemplate', 49 data: { title: 'File Title', fileName: 'music.mp4', progressValue: 50 } 50 } 51 } 52 53 // 发布通知 54 notificationManager.publish(notificationRequest, (err: BusinessError) => { 55 if (err) { 56 hilog.error(DOMAIN_NUMBER, TAG, `Failed to publish notification. Code is ${err.code}, message is ${err.message}`); 57 return; 58 } 59 hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in publishing notification.'); 60 }); 61 ``` 62 633. 通过[NotificationRequest](../reference/apis-notification-kit/js-apis-inner-notification-notificationRequest.md#notificationrequest-1)接口携带updateOnly字段更新进度条通知。 64 65 ```ts 66 let notificationRequest: notificationManager.NotificationRequest = { 67 id: 5, 68 updateOnly: true, 69 content: { 70 notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, 71 normal: { 72 title: 'test_title', 73 text: 'test_text', 74 additionalText: 'test_additionalText' 75 } 76 }, 77 // 构造进度条模板,name字段当前需要固定配置为downloadTemplate 78 template: { 79 name: 'downloadTemplate', 80 data: { title: 'File Title', fileName: 'music.mp4', progressValue: 99 } 81 } 82 } 83 84 // 更新发布通知 85 notificationManager.publish(notificationRequest, (err: BusinessError) => { 86 if (err) { 87 hilog.error(DOMAIN_NUMBER, TAG, `Failed to update notification. Code is ${err.code}, message is ${err.message}`); 88 return; 89 } 90 hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in updating notification.'); 91 }); 92 ```