发布文本类型通知
========

文本类型通知主要应用于发送短信息、提示信息等，支持普通文本类型和多行文本类型。

**表1** 基础类型通知中的内容分类

| 类型 | 描述 |
| :-- | :-- |
| NOTIFICATION\_CONTENT\_BASIC\_TEXT | 普通文本类型。 |
| NOTIFICATION\_CONTENT\_MULTILINE | 多行文本类型。 |

#### 接口说明

通知发布接口说明详见下表，通知发布的详情可通过入参[NotificationRequest](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-notification-notificationrequest#notificationrequest-1)来进行指定，可以包括通知内容、通知ID、通知的通道类型和通知发布时间等信息。

| **接口名** | **描述** |
| :-- | :-- |
| publish(request: NotificationRequest, callback: AsyncCallback<void>): void | 发布通知。 |

#### 开发步骤

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.  构造NotificationRequest对象，并发布通知。
    
    *   普通文本类型通知由标题、文本内容和附加信息三个字段组成。详情请参考[NotificationBasicContent](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-notification-notificationcontent#notificationbasiccontent)。
        
        let notificationRequest: notificationManager.NotificationRequest = {
          id: 1,
          content: {
            notificationContentType: notificationManager.ContentType.NOTIFICATION\_CONTENT\_BASIC\_TEXT, // 普通文本类型通知
            normal: {
              title: 'test\_title',
              text: 'test\_text',
              additionalText: 'test\_additionalText',
            }
          }
        };
        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.');
        });
        
    *   多行文本类型通知继承了普通文本类型的字段，同时新增了多行文本内容、内容概要和通知展开时的标题。详情请参考[NotificationMultiLineContent](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-inner-notification-notificationcontent#notificationmultilinecontent)。
        
        let notificationRequest: notificationManager.NotificationRequest = {
          id: 3,
          content: {
            notificationContentType: notificationManager.ContentType.NOTIFICATION\_CONTENT\_MULTILINE, // 多行文本类型通知
            multiLine: {
              title: 'test\_multi\_line\_title',
              text: 'test\_text',
              briefText: 'test\_briefText',
              longTitle: 'test\_longTitle',
              lines: \['line\_01', 'line\_02', 'line\_03'\],
            }
          }
        };
        // 发布通知
        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.');
        });