1# 发布进度条类型通知 2 3 4进度条通知也是常见的通知类型,主要应用于文件下载、事务处理进度显示。当前系统提供了进度条模板,发布通知应用设置好进度条模板的属性值,如模板名、模板数据,通过通知子系统发送到通知栏显示。 5 6目前系统模板仅支持进度条模板,通知模板[NotificationTemplate](../reference/apis-notification-kit/js-apis-inner-notification-notificationTemplate.md)中的data参数为用户自定义数据,用于显示与模块相关的数据。 7 8## 接口说明 9 10[`isSupportTemplate()`](../reference/apis-notification-kit/js-apis-notificationManager.md#notificationmanagerissupporttemplate)是查询模板是否支持接口,目前仅支持进度条模板。 11 12| **接口名** | **描述** | 13| -------- | -------- | 14| isSupportTemplate(templateName: string): Promise\<boolean\> | 查询模板是否存在。 | 15 16 17## 开发步骤 18 191. 导入模块。 20 21 ```ts 22 import { notificationManager } from '@kit.NotificationKit'; 23 import { BusinessError } from '@kit.BasicServicesKit'; 24 import { hilog } from '@kit.PerformanceAnalysisKit'; 25 26 const TAG: string = '[PublishOperation]'; 27 const DOMAIN_NUMBER: number = 0xFF00; 28 ``` 29 302. 查询系统是否支持进度条模板,查询结果为支持downloadTemplate模板类通知。 31 32 ```ts 33 notificationManager.isSupportTemplate('downloadTemplate').then((data:boolean) => { 34 hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in supporting download template notification.'); 35 let isSupportTpl: boolean = data; // isSupportTpl的值为true表示支持downloadTemplate模板类通知,false表示不支持 36 }).catch((err: BusinessError) => { 37 hilog.error(DOMAIN_NUMBER, TAG, `Failed to support download template notification. Code is ${err.code}, message is ${err.message}`); 38 }); 39 ``` 40 41 > **说明:** 42 > 查询系统支持进度条模板后,再进行后续的步骤操作。 43 443. 构造进度条模板对象,并发布通知。 45 46 ```ts 47 let notificationRequest: notificationManager.NotificationRequest = { 48 id: 5, 49 content: { 50 notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, 51 normal: { 52 title: 'test_title', 53 text: 'test_text', 54 additionalText: 'test_additionalText' 55 } 56 }, 57 // 构造进度条模板,name字段当前需要固定配置为downloadTemplate 58 template: { 59 name: 'downloadTemplate', 60 data: { title: 'File Title', fileName: 'music.mp4', progressValue: 45 } 61 } 62 } 63 64 // 发布通知 65 notificationManager.publish(notificationRequest, (err: BusinessError) => { 66 if (err) { 67 hilog.error(DOMAIN_NUMBER, TAG, `Failed to publish notification. Code is ${err.code}, message is ${err.message}`); 68 return; 69 } 70 hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in publishing notification.'); 71 }); 72 ``` 73