发布进度条类型通知
=========

进度条通知也是常见的通知类型，主要应用于文件下载、事务处理进度显示。当前系统提供了进度条模板，发布通知应用应设置好进度条模板的属性值，如模板名、模板数据，通过通知子系统发送到通知栏显示。

目前系统模板仅支持进度条模板，通知模板[NotificationTemplate](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-notification-notificationtemplate)中的data参数为用户自定义数据，用于显示与模块相关的数据。

#### 接口说明

[isSupportTemplate()](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-notificationmanager#notificationmanagerissupporttemplate)是查询是否支持对应的通知模板，目前仅支持进度条模板。

| **接口名** | **描述** |
| :-- | :-- |
| isSupportTemplate(templateName: string): Promise<boolean> | 查询是否支持对应的通知模板。 |

#### 开发步骤

1.  导入模块。
    
    import { notificationManager } from '@kit.NotificationKit';
    import { BusinessError } from '@kit.BasicServicesKit';
    import { hilog } from '@kit.PerformanceAnalysisKit';
    
    const TAG: string = '\[PublishOperation\]';
    const DOMAIN\_NUMBER: number = 0xFF00;
    
2.  查询系统是否支持进度条模板，查询结果为支持downloadTemplate模板类通知。
    
    notificationManager.isSupportTemplate('downloadTemplate').then((data: boolean) => {
      let isSupportTemplate: boolean = data; // isSupportTemplate的值为true表示支持downloadTemplate模板类通知，false表示不支持
      hilog.info(DOMAIN\_NUMBER, TAG,
        \`Succeeded in supporting download template notification. data is ${isSupportTemplate}\`);
    }).catch((err: BusinessError) => {
      hilog.error(DOMAIN\_NUMBER, TAG,
        \`Failed to support download template notification. Code is ${err.code}, message is ${err.message}\`);
    });
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/fd/v3/9LuzgEK_QdaiytRjtymMww/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260709T132637Z&HW-CC-Expire=86400&HW-CC-Sign=BC4A4A03036EFF26672DBA53349EAC1996F4BD721AAA94F9297A3AFC89D90C24)
    
    查询系统支持进度条模板后，再进行后续的步骤操作。
    
3.  构造进度条模板对象，并发布通知。
    
    let notificationRequest: notificationManager.NotificationRequest = {
      id: 5,
      content: {
        notificationContentType: notificationManager.ContentType.NOTIFICATION\_CONTENT\_BASIC\_TEXT,
        normal: {
          title: 'test\_title',
          text: 'test\_text',
          additionalText: 'test\_additionalText'
        }
      },
      // 构造进度条模板，name字段当前需要固定配置为downloadTemplate
      template: {
        name: 'downloadTemplate',
        data: { title: 'File Title', fileName: 'music.mp4', progressValue: 45 }
      }
    };
    
    // 发布通知
    notificationManager.publish(notificationRequest, (err: BusinessError) => {
      if (err) {
        hilog.error(DOMAIN\_NUMBER, TAG,
          \`Failed to publish notification. Code is ${err.code}, message is ${err.message}\`);
        return;
      }
      hilog.info(DOMAIN\_NUMBER, TAG, 'Succeeded in publishing notification.');
    });