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