1# NotificationRequest
2
3描述通知的请求。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## NotificationRequest
10
11**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
12
13| 名称                            | 类型                                                    |  只读 | 可选 | 说明                                                                    |
14|-------------------------------| -------------------------------------------------------- | ----- | --- |-----------------------------------------------------------------------|
15| content                       | [NotificationContent](js-apis-inner-notification-notificationContent.md#notificationcontent)   |   否  | 否  | 通知内容。                                                                 |
16| id                            | number                                                   |   否  | 是  | 通知ID,默认为0。                                                                 |
17| slotType<sup>(deprecated)</sup> | [notification.SlotType](./js-apis-notification.md#slottype)    |   否  | 是  | 通知渠道类型。<br>从API version 11开始不再维护,建议使用notificationSlotType代替。                        |
18| notificationSlotType<sup>11+</sup> | [notificationManager.SlotType](js-apis-notificationManager.md#slottype) |   否  | 是  | 通知渠道类型。                        |
19| isOngoing                     | boolean                                                  |   否  | 是  | 预留能力,暂未支持。  |
20| isUnremovable                 | boolean                                                  |   否  | 是  | 预留能力,暂未支持。  |
21| deliveryTime                  | number                                                   |   否  | 是  | 通知发送时间。系统自动生成,无需开发者配置。<br>数据格式:时间戳。<br>单位:ms。                                                               |
22| tapDismissed                  | boolean                                                  |   否  | 是  | 通知是否自动清除。预留能力,暂未支持。                                                             |
23| autoDeletedTime               | number                                                   |   否  | 是  | 自动清除的时间。<br>数据格式:时间戳。<br>单位:ms。<br>例如,希望某通知存留3秒(3000ms)后对其进行清除,则对应的清除时间为:new Date().getTime() + 3000。                                                              |
24| wantAgent                     | [WantAgent](../apis-ability-kit/js-apis-app-ability-wantAgent.md)            |   否  | 是  | WantAgent封装了应用的行为意图,点击通知时触发该行为。                                       |
25| extraInfo                     | {[key: string]: any}                                     |   否  | 是  | 扩展参数。                                                                 |
26| color                         | number                                                   |   否  | 是  | 通知背景颜色。预留能力,暂未支持。                                                     |
27| colorEnabled                  | boolean                                                  |   否  | 是  | 通知背景颜色是否使能。预留能力,暂未支持。                                                 |
28| isAlertOnce                   | boolean                                                  |   否  | 是  | 设置是否仅有一次此通知提醒。                                                        |
29| isStopwatch                   | boolean                                                  |   否  | 是  | 是否显示已用时间。预留能力,暂未支持。                                                             |
30| isCountDown                   | boolean                                                  |   否  | 是  | 是否显示倒计时时间。预留能力,暂未支持。                                                            |
31| isFloatingIcon                | boolean                                                  |   否  | 是  | 是否显示状态栏图标。预留能力,暂未支持。                                                            |
32| label                         | string                                                   |   否  | 是  | 通知标签。<br>label字段的功能类似于id,可以单独使用,也可与id结合共同作为通知的标识。优先推荐使用id。<br>如果发布通知时label不为空,那么在更新或删除该通知时,也需要指定相应的label。                                                                 |
33| badgeIconStyle                | number                                                   |   否  | 是  | 通知角标类型。预留能力,暂未支持。                                                     |
34| showDeliveryTime              | boolean                                                  |   否  | 是  | 是否显示分发时间。预留能力,暂未支持。                                                             |
35| actionButtons                 | Array\<[NotificationActionButton](js-apis-inner-notification-notificationActionButton.md)\>             |   否  | 是  | 通知按钮,一条通知中最多包含两个按钮。                                                          |
36| smallIcon                     | [image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)             |   否  | 是  | 通知小图标。可选字段,图标像素的总字节数不超过192KB(图标像素的总字节数通过[getPixelBytesNumber](../apis-image-kit/js-apis-image.md#getpixelbytesnumber7)获取),建议图标像素长宽为128*128。实际显示效果依赖于设备能力和通知中心UI样式。                                                 |
37| largeIcon                     | [image.PixelMap](../apis-image-kit/js-apis-image.md#pixelmap7)             |   否  | 是  | 通知大图标。可选字段,图标像素的总字节数不超过192KB(图标像素的总字节数通过[getPixelBytesNumber](../apis-image-kit/js-apis-image.md#getpixelbytesnumber7)获取),建议图标像素长宽为128*128。实际显示效果依赖于设备能力和通知中心UI样式。                                                 |
38| creatorBundleName             | string                                                   |   是  | 是  | 创建通知的包名。                                                              |
39| creatorUid                    | number                                                   |   是  | 是  | 创建通知的UID。                                                             |
40| creatorPid                    | number                                                   |   是  | 是  | 创建通知的PID。                                                             |
41| creatorUserId<sup>8+</sup>     | number                                                   |   是  | 是  | 创建通知的UserId。                                                          |
42| hashCode                      | string                                                   |   是  | 是  | 通知唯一标识。                                                               |
43| groupName<sup>8+</sup>         | string                                                   |   否  | 是  | 组通知名称。                                                                |
44| template<sup>8+</sup>          | [NotificationTemplate](./js-apis-inner-notification-notificationTemplate.md) |   否  | 是  | 通知模板。                                                                 |
45| distributedOption<sup>8+</sup> | [DistributedOptions](#distributedoptions8)                |   否  | 是  | 分布式通知的选项。预留能力,暂未支持。                                                             |
46| notificationFlags<sup>8+</sup> | [NotificationFlags](js-apis-inner-notification-notificationFlags.md#notificationflags)                   |   是  | 是  | 获取NotificationFlags。                                                  |
47| removalWantAgent<sup>9+</sup>  | [WantAgent](../apis-ability-kit/js-apis-app-ability-wantAgent.md)            |   否  | 是  | 当移除通知时,通知将被重定向到的WantAgent实例。<br>当前不支持跳转UIAbility,只支持发布公共事件(即[actionType](../apis-ability-kit/js-apis-inner-wantAgent-wantAgentInfo.md)取值为4)。                                          |
48| badgeNumber<sup>9+</sup>       | number                                                   |   否  | 是  | 应用程序图标上显示的通知数。当角标设定个数取值0时,表示清除角标。取值大于99时,通知角标将显示99+。                                                        |
49| appMessageId<sup>12+</sup>       | string                                                   |   否  | 是  | 应用发送通知携带的唯一标识字段, 用于通知去重。如果同一应用通过本地和云端等不同途径发布携带相同appMessageId的通知,设备只展示一条消息,之后收到的重复通知会被静默去重,不展示、不提醒。去重标识仅在通知发布的24小时内有效,超过24小时或者设备重启失效。
50| sound<sup>12+</sup>            | string                                                   |   否  | 是  | 应用通知自定义铃声文件名。该文件必须放在resources/rawfile目录下,支持m4a、aac、mp3、ogg、wav、flac、amr等格式。<!--RP1-->该字段需要由具有[ohos.permission.NOTIFICATION_AGENT_CONTROLLER](../../security/AccessToken/permissions-for-system-apps.md#ohospermissionnotification_agent_controller)权限的系统应用调用接口[notificationManager.setAdditionalConfig](./js-apis-notificationManager-sys.md#notificationmanagersetadditionalconfig12)进行配置权益后,方可生效。<!--RP1End-->                                                        |
51
52## DistributedOptions<sup>8+</sup>
53
54描述分布式选项。
55
56**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
57
58| 名称                   | 类型            | 只读 | 可选 | 说明                               |
59| -----------------------| -------------- | ---- | ---- | --------------------------------- |
60| isDistributed          | boolean        | 否   | 是   | 是否为分布式通知。                  |
61| supportDisplayDevices  | Array\<string> | 否   | 是   | 可以同步通知到的设备列表。           |
62| supportOperateDevices  | Array\<string> | 否   | 是   | 可以打开通知的设备列表。             |
63