NotificationRequest

描述通知的请求。

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

NotificationRequest

系统能力:SystemCapability.Notification.Notification

名称 类型 只读 可选 说明
content NotificationContent 通知展示内容。
id number 通知ID,默认值为0。若已存在相同ID的通知,则更新该通知;若不存在相同ID的通知,则创建新的通知。
updateOnly18+ boolean 是否仅更新通知,默认值为false。
- true:若已存在相同ID的通知,则更新该通知;若不存在相同ID的通知,则更新失败,并且不创建新的通知。
- false:若已存在相同ID的通知,则更新该通知;若不存在相同ID的通知,则创建新的通知。
appMessageId12+ string 应用发送通知携带的唯一标识字段,用于通知去重。如果同一应用通过本地和云端等不同途径发布携带相同appMessageId的通知,设备只展示一条消息,之后收到的重复通知会被静默去重,不展示、不提醒。去重标识仅在通知发布的24小时内有效,超过24小时或者设备重启失效。
notificationSlotType11+ notificationManager.SlotType 通知渠道类型,默认值为OTHER_TYPES。不同渠道类型的通知提醒方式不同。
notificationFlags8+ NotificationFlags 设置或获取NotificationFlags,默认为空。从API version 23开始成为可写参数,设置该参数可削减通知的提醒方式,当通知渠道类型为LIVE_VIEW时,该参数设置不生效。
priorityNotificationType23+ notificationManager.PriorityNotificationType 通知优先级类型,默认值为OTHER。设置该参数可使通知置顶,并且在通知中心以突出方式显示。实际显示效果依赖于设备能力和通知中心UI样式。
模型约束: 此接口仅可在Stage模型下使用。
isAlertOnce boolean 发布或更新该通知时,是否只进行一次通知提醒,默认为false。
- true:仅首次发布通知时进行提醒,后续更新该通知时,提醒方式变更为LEVEL_LOW
- false:每次均按照配置的通知提醒方式进行提醒。
sound12+ string 应用通知自定义铃声资源路径,默认为空。支持两种音频资源来源:
- 资源文件:应用预置的音频文件,资源文件必须放在放在resources/rawfile目录下,使用时直接传入文件名。
- 沙箱文件:网络下载或者用户生成的音频文件,必须放在沙箱文件目录EL1区域的files目录或者其子目录下,传入格式为uri::{fileUri},其中fileUri是通过getUriFromPath获取的路径。例如,应用将下载的音频资源demo.mp3传入沙箱文件目录/data/storage/el1/base/files/,通过getUriFromPath获取的路径为file://{bundleName}/data/storage/el1/base/files/demo.mp3,使用该路径发布通知即可播放应用下载的音频资源。
支持m4a、aac、mp3、ogg、wav、flac、amr等格式。
badgeNumber9+ number 应用程序图标上显示的通知数,该数量累计展示,默认值为0。
badgeNumber取值小于或等于0时,将忽略本次角标设定。
当角标累加设定个数取值大于99时,通知角标将显示99+。
例如,应用发布3条通知,badgeNumber依次设置为2、0、3,应用将依次展示为2、2、5。
wantAgent WantAgent 封装了应用的行为意图,点击通知时触发该行为,默认为空。
actionButtons Array<NotificationActionButton> 通知按钮,默认为空。一条通知中最多包含两个按钮。从API version 16开始,wearable设备一条通知最多包含三个按钮。
removalWantAgent9+ WantAgent 封装了应用的行为意图,移除通知时触发该行为,默认为空。
当前不支持跳转UIAbility,只支持发布公共事件(即WantAgentInfo的actionType字段取值为4)。
tapDismissed boolean 点击通知携带的wantAgent或actionButtons时,该通知是否自动清除。当通知携带wantAgent或actionButtons时该字段生效。默认值为true。
- true:点击通知或按钮后,自动删除当前通知。
- false:点击通知或按钮后,保留当前通知。
autoDeletedTime number 通知定时清除时间。设置该参数可使通知在指定时间后自动清除。默认值为0。
数据格式:时间戳。
单位:ms。
例如,希望某通知存留3秒(3000ms)后对其进行清除,则对应的清除时间为:new Date().getTime() + 3000。
deliveryTime number 通知发送时间。系统自动生成,无需开发者配置。
数据格式:时间戳。
单位:ms。
label string 通知标签,默认为空。
label字段的功能类似于id,可以单独使用,也可与id结合共同作为通知的标识。优先推荐使用id。
如果发布通知时label不为空,那么在更新或删除该通知时,也需要指定相应的label。
smallIcon image.PixelMap 通知小图标,默认为空。图标像素的总字节数不超过192KB(图标像素的总字节数通过getPixelBytesNumber获取),建议图标像素长宽为128*128。实际显示效果依赖于设备能力和通知中心UI样式。
largeIcon image.PixelMap 通知大图标,默认为空。图标像素的总字节数不超过192KB(图标像素的总字节数通过getPixelBytesNumber获取),建议图标像素长宽为128*128。实际显示效果依赖于设备能力和通知中心UI样式。
overlayIcon23+ image.PixelMap 通知重叠图标,默认为空。图像像素的总字节数不超过192KB(图标像素的总字节数通过getPixelBytesNumber获取)。
此接口只在notificationSlotType类型设置为SOCIAL_COMMUNICATION时生效。建议图标像素长宽为128*128。实际显示效果依赖于设备能力和通知中心UI样式。
groupName8+ string 通知所属组。当不同通知的groupName相同时,这些通知将成组展示。默认为空。
template8+ NotificationTemplate 通知模板,默认为空。
extraInfo {[key: string]: any} 扩展参数。为应用提供定制服务。默认为空。
以下Key由系统赋值,开发者手动修改也不会生效,系统在数据传递时会自动修改为实际值。
- 'ohos.notificationManager.wantUri':用户点击通知时传递给应用的Want 中的uri字段,使用getActiveNotifications接口获取该信息。
slotType(deprecated) notification.SlotType 通知渠道类型,默认值为OTHER_TYPES。
从API version 7开始支持,从API version 11开始废弃,建议使用notificationSlotType替代。
hashCode string 通知唯一标识。
creatorBundleName string 创建通知的应用名称。
creatorUid number 创建通知的应用UID。
creatorPid number 创建通知的PID。
creatorUserId8+ number 创建通知的用户ID。
isOngoing boolean 预留能力,暂未支持。
isUnremovable boolean 预留能力,暂未支持。
color number 通知背景颜色。预留能力,暂未支持。
colorEnabled boolean 通知背景颜色是否使能。预留能力,暂未支持。
isStopwatch boolean 是否显示已用时间。预留能力,暂未支持。
isCountDown boolean 是否显示倒计时时间。预留能力,暂未支持。
isFloatingIcon boolean 是否显示状态栏图标。预留能力,暂未支持。
distributedOption8+ DistributedOptions 分布式通知的选项。预留能力,暂未支持。
badgeIconStyle number 通知角标类型。预留能力,暂未支持。
showDeliveryTime boolean 是否显示分发时间。预留能力,暂未支持。

DistributedOptions8+

描述跨设备协同选项。预留能力,暂未支持。

系统能力:SystemCapability.Notification.Notification

名称 类型 只读 可选 说明
isDistributed boolean 是否支持跨设备协同通知。默认为true。
- true:支持跨设备协同通知。
- false:不支持跨设备协同通知。
supportDisplayDevices Array<string> 可以同步通知到的设备列表。
supportOperateDevices Array<string> 可以打开通知的设备列表。

NotificationParameters24+

描述NotificationRequest中wantAgent的部分信息。

模型约束:此接口仅可在Stage模型下使用。

系统能力:SystemCapability.Notification.Notification

名称 类型 只读 可选 说明
wantAction string 应用在创建wantAgent时,传入的want的action字段,具体含义请参考action
wantUri string 应用在创建wantAgent时,传入的want的uri字段,具体含义请参考uri
wantParameters Record<string, Object> 应用在创建wantAgent时,传入的want的parameters字段,具体含义请参考parameters