• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 发布文本类型通知
2
3文本类型通知主要应用于发送短信息、提示信息等,支持普通文本类型和多行文本类型。
4
5**表1** 基础类型通知中的内容分类
6
7| 类型                             | 描述          |
8| ------------------------------- | ------------- |
9| NOTIFICATION_CONTENT_BASIC_TEXT | 普通文本类型。 |
10| NOTIFICATION_CONTENT_MULTILINE  | 多行文本类型。 |
11
12## 接口说明
13
14通知发布接口说明详见下表,通知发布的详情可通过入参[NotificationRequest](../reference/apis-notification-kit/js-apis-inner-notification-notificationRequest.md#notificationrequest)来进行指定,可以包括通知内容、通知ID、通知的通道类型和通知发布时间等信息。
15
16| **接口名** | **描述** |
17| -------- | -------- |
18| publish(request: NotificationRequest, callback: AsyncCallback<void>): void | 发布通知。                 |
19| cancel(id: number, label: string, callback: AsyncCallback<void>): void | 取消指定的通知。           |
20| cancelAll(callback: AsyncCallback<void>): void | 取消所有该应用发布的通知。 |
21
22
23## 开发步骤
24
251. 导入模块。
26
27   ```ts
28   import { notificationManager } from '@kit.NotificationKit';
29   import { BusinessError } from '@kit.BasicServicesKit';
30   import { hilog } from '@kit.PerformanceAnalysisKit';
31
32   const TAG: string = '[PublishOperation]';
33   const DOMAIN_NUMBER: number = 0xFF00;
34   ```
35
362. 构造NotificationRequest对象,并发布通知。
37   - 普通文本类型通知由标题、文本内容和附加信息三个字段组成,其中标题和文本内容是必填字段,大小均需要小于200字节,超出部分会被截断。
38
39      ```ts
40      let notificationRequest: notificationManager.NotificationRequest = {
41        id: 1,
42        content: {
43          notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // 普通文本类型通知
44          normal: {
45            title: 'test_title',
46            text: 'test_text',
47            additionalText: 'test_additionalText',
48          }
49        }
50      };
51      notificationManager.publish(notificationRequest, (err: BusinessError) => {
52        if (err) {
53          hilog.error(DOMAIN_NUMBER, TAG, `Failed to publish notification. Code is ${err.code}, message is ${err.message}`);
54          return;
55        }
56        hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in publishing notification.');
57      });
58      ```
59
60
61   - 多行文本类型通知继承了普通文本类型的字段,同时新增了多行文本内容、内容概要和通知展开时的标题,其字段均小于200字节,超出部分会被截断。通知默认显示与普通文本相同,展开后,标题显示为展开后标题内容,多行文本内容多行显示。
62
63      ```ts
64      let notificationRequest: notificationManager.NotificationRequest = {
65        id: 3,
66        content: {
67          notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_MULTILINE, // 多行文本类型通知
68          multiLine: {
69            title: 'test_title',
70            text: 'test_text',
71            briefText: 'test_briefText',
72            longTitle: 'test_longTitle',
73            lines: ['line_01', 'line_02', 'line_03', 'line_04'],
74          }
75        }
76      };
77      // 发布通知
78      notificationManager.publish(notificationRequest, (err: BusinessError) => {
79        if (err) {
80          hilog.error(DOMAIN_NUMBER, TAG, `Failed to publish notification. Code is ${err.code}, message is ${err.message}`);
81          return;
82        }
83        hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in publishing notification.');
84      });
85      ```
863. 删除通知。
87
88   ```ts
89    notificationManager.cancel(1, (err: BusinessError) => {
90      if (err) {
91        hilog.error(DOMAIN_NUMBER, TAG, `Failed to cancel notification. Code is ${err.code}, message is ${err.message}`);
92        return;
93      }
94      hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in cancel notification.');
95    });
96   ```