Notification开发指南

简介

OpenHarmony通过ANS(Advanced Notification Service,通知系统服务)对通知类型的消息进行管理,支持多种通知类型,包括文本,长文本,多文本,图片,社交,媒体等。所有系统服务以及应用都可以通过通知接口发送通知消息,用户可以通过SystemUI查看所有通知消息。

通知常见的使用场景:

  • 显示接收到短消息、即时消息等。
  • 显示应用的推送消息,如广告、版本更新等。
  • 显示当前正在进行的事件,如导航、下载等。

接口列表

API 手机 平板 智慧屏 智能穿戴
Notification.publish(request: NotificationRequest, callback: AsyncCallback) 支持 支持 支持 支持
Notification.publish(request: NotificationRequest) 支持 支持 支持 支持
Notification.cancel(id: number, label: string, callback: AsyncCallback) 支持 支持 支持 支持
Notification.cancel(id:number, label?:string) 支持 支持 支持 支持
Notification.cancel(id: number, callback: AsyncCallback) 支持 支持 支持 支持
Notification.cancelAll(callback: AsyncCallback) 支持 支持 支持 支持
Notification.cancelAll() 支持 支持 支持 支持
Notification.addSlot(type: SlotType, callback: AsyncCallback) 支持 支持 支持 支持
Notification.addSlot(type: SlotType) 支持 支持 支持 支持
Notification.getSlot(slotType: SlotType, callback: AsyncCallback) 支持 支持 支持 支持
Notification.getSlot(slotType: SlotType) 支持 支持 支持 支持
Notification.getSlots(callback: AsyncCallback>) 支持 支持 支持 支持
Notification.getSlots() 支持 支持 支持 支持
Notification.removeSlot(slotType: SlotType, callback: AsyncCallback) 支持 支持 支持 支持
Notification.removeSlot(slotType: SlotType) 支持 支持 支持 支持
Notification.removeAllSlots(callback: AsyncCallback): void 支持 支持 支持 支持
Notification.removeAllSlots(): Promise 支持 支持 支持 支持
Notification.getActiveNotificationCount(callback: AsyncCallback) 支持 支持 支持 支持
Notification.getActiveNotificationCount() 支持 支持 支持 支持
Notification.getActiveNotifications(callback: AsyncCallback>) 支持 支持 支持 支持
Notification.getActiveNotifications() 支持 支持 支持 支持
WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback) 支持 支持 支持 支持
WantAgent.getWantAgent(info: WantAgentInfo): Promise 支持 支持 支持 支持
WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback) 支持 支持 支持 支持
WantAgent.getBundleName(agent: WantAgent): Promise 支持 支持 支持 支持
WantAgent.getUid(agent: WantAgent, callback: AsyncCallback) 支持 支持 支持 支持
WantAgent.getUid(agent: WantAgent): Promise 支持 支持 支持 支持
WantAgent.cancel(agent: WantAgent, callback: AsyncCallback) 支持 支持 支持 支持
WantAgent.cancel(agent: WantAgent): Promise 支持 支持 支持 支持
WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback) 支持 支持 支持 支持
WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback) 支持 支持 支持 支持
WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise 支持 支持 支持 支持

Notification接口

导入模块
  1. import Notification from '@ohos.notification';
NotificationSlot类型说明

NotificationSlot可以对提示音、振动等进行设置。一个应用可以创建一个或多个NotificationSlot,在发布通知时,通过绑定不同的NotificationSlot,实现不同用途。

名称 读写属性 类型 必填 描述
type 读、写 SlotType 通道类型
level 读、写 SlotLevel 通知级别
desc 读、写 string 通知渠道描述信息
badgeFlag 读、写 boolean 是否显示角标
bypassDnd 读、写 boolean 置是否在系统中绕过免打扰模式
lockscreenVisibility 读、写 boolean 在锁定屏幕上显示通知的模式
vibrationEnabled 读、写 boolean 是否可振动
sound 读、写 string 通知提示音
lightEnabled 读、写 boolean 是否闪灯
lightColor 读、写 number 通知灯颜色
vibrationValues 读、写 Array 通知振动样式
  • SlotType类型说明
名称 读写属性 类型 描述
SOCIAL_COMMUNICATION 只读 enum 社交类型
SERVICE_INFORMATION 只读 enum 服务类型
CONTENT_INFORMATION 只读 enum 内容类型
OTHER_TYPES 只读 enum 其他类型
  • SlotLevel类型说明
名称 读写属性 类型 描述
LEVEL_NONE 只读 enum 表示通知不发布
LEVEL_MIN 只读 enum 表示通知可以发布,但不在状态栏显示,不自动弹出,无提示音;该级别不适用于前台服务的场景
LEVEL_LOW 只读 enum 表示通知发布后在状态栏显示,不自动弹出,无提示音
LEVEL_DEFAULT 只读 enum 表示通知发布后在状态栏显示,不自动弹出,触发提示音
LEVEL_HIGH 只读 enum 表示通知发布后在状态栏显示,自动弹出,触发提示音
NotificationRequest类型说明

NotificationRequest用于设置具体的通知对象,包括设置通知的属性,如:通知的分发时间、小图标、大图标、自动删除等参数,以及设置具体的通知类型,如普通文本、长文本等。

名称 读写属性 类型 必填 描述
content 读、写 NotificationContent 通知内容
id 读、写 number 通知ID
slotType 读、写 SlotType 通道类型
isOngoing 读、写 boolean 是否进行时通知
isUnremovable 读、写 boolean 是否可移除
deliveryTime 读、写 number 通知发送时间
tapDismissed 读、写 boolean 通知是否自动清除
autoDeletedTime 读、写 number 自动清除的时间
wantAgent 读、写 WantAgent 点击跳转的WantAgent
extraInfo 读、写 {[key: string]: any} 扩展参数
color 读、写 number 通知背景颜色
colorEnabled 读、写 boolean 通知背景颜色是否使能
isAlertOnce 读、写 boolean 设置是否仅有一次此通知警报
isStopwatch 读、写 boolean 是否显示已用时间
isCountDown 读、写 boolean 是否显示倒计时时间
isFloatingIcon 读、写 boolean 是否显示状态栏图标
isFloatingIcon 读、写 boolean 是否显示状态栏图标
label 读、写 string 通知标签
badgeIconStyle 读、写 number 通知角标类型
showDeliveryTime 读、写 boolean 是否显示分发时间
actionButtons 读、写 Array 通知按钮,最多两个按钮
smallIcon 读、写 PixelMap 通知小图标
largeIcon 读、写 PixelMap 通知大图标
creatorBundleName 只读 string 创建通知的包名
creatorUid 只读 number 创建通知的UID
creatorPid 只读 number 创建通知的PID
hashCode 只读 string 通知唯一标识
  • NotificationContent类型说明
名称 读写属性 类型 必填 描述
contentType 读、写 ContentType 通知内容类型
normal 读、写 NotificationBasicContent 普通类型通知内容
longText 读、写 NotificationLongTextContent 长文本类型通知内容
multiLine 读、写 NotificationMultiLineContent 多行文本类型通知内容
picture 读、写 NotificationPictureContent 图片类型通知内容
  • ContentType类型说明
名称 读写属性 类型 描述
NOTIFICATION_CONTENT_BASIC_TEXT 只读 enum 普通类型通知
NOTIFICATION_CONTENT_LONG_TEXT 只读 enum 长文本类型通知
NOTIFICATION_CONTENT_PICTURE 只读 enum 图片类型通知
NOTIFICATION_CONTENT_CONVERSATION 只读 enum 社交类型通知
NOTIFICATION_CONTENT_MULTILINE 只读 enum 多行文本类型通知
  • NotificationBasicContent类型说明
名称 读写属性 类型 必填 描述
title 读、写 string 通知标题
text 读、写 string 通知内容
additionalText 读、写 string 通知次要内容,是对通知内容的补充
  • NotificationLongTextContent类型说明
名称 读写属性 类型 必填 描述
title 读、写 string 通知标题
text 读、写 string 通知内容
additionalText 读、写 string 通知次要内容,是对通知内容的补充
longText 读、写 string 通知的长文本
briefText 读、写 string 通知概要内容,是对通知内容的总结
expandedTitle 读、写 string 通知展开时的标题
  • NotificationMultiLineContent类型说明
名称 读写属性 类型 必填 描述
title 读、写 string 通知标题
text 读、写 string 通知内容
additionalText 读、写 string 通知次要内容,是对通知内容的补充
briefText 读、写 string 通知概要内容,是对通知内容的总结
longTitle 读、写 string 通知展开时的标题
lines 读、写 Array 通知的多行文本
  • NotificationPictureContent类型说明
名称 读写属性 类型 必填 描述
title 读、写 string 通知标题
text 读、写 string 通知内容
additionalText 读、写 string 通知次要内容,是对通知内容的补充
briefText 读、写 string 通知概要内容,是对通知内容的总结
expandedTitle 读、写 string 通知展开时的标题
picture 读、写 image.PixelMap 通知的图片内容
  • NotificationActionButton类型说明
名称 读写属性 类型 必填 描述
title 读、写 string 按钮标题
wantAgent 读、写 wantAgent 点击按钮时触发的WantAgent
extras 读、写 Array 按钮扩展信息
icon 读、写 image.PixelMap 按钮图标
创建通知通道
  • 创建通知通道(callback形式)

    Notification.addSlot(type: SlotType, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | ——————————— | | type | 只读 | SlotType | 是 | 要创建的通知通道的类型 | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //addslot回调
    2. function addSlotCallBack(err) {
    3. console.info("==========================>addSlotCallBack=======================>");
    4. }
    5. Notification.addSlot(SOCIAL_COMMUNICATION, addSlotCallBack)
  • 创建通知通道(Promise形式)

    Notification.addSlot(type: SlotType)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | —— | ———— | ———— | —— | ——————————— | | type | 只读 | SlotType | 是 | 要创建的通知通道的类型 |

    • 返回值

      Promise<void>

    • 示例代码

    1. Notification.addSlot(SOCIAL_COMMUNICATION).then((void) => {
    2. console.info("==========================>addSlotCallback=======================>");
    3. });
获取通知通道
  • 获取一个通知通道(callback形式)

    Notification.getSlot(slotType: SlotType, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ———————————————- | —— | —————————————————————————————- | | slotType | 只读 | slotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //getSlot回调
    2. function getSlotCallback(err,data) {
    3. console.info("==========================>getSlotCallback=======================>");
    4. }
    5. var slotType = SOCIAL_COMMUNICATION;
    6. Notification.getSlot(slotType, getSlotCallback)
  • 获取一个通知通道(Promise形式)

    Notification.getSlot(slotType)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ———— | —— | —————————————————————————————- | | slotType | 只读 | slotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |

    • 返回值

      Promise

    • 示例代码

    1. var slotType = SOCIAL_COMMUNICATION;
    2. Notification.getSlot(slotType).then((data) => {
    3. console.info("==========================>getSlotCallback=======================>");
    4. });
  • 获取本应用程序的所有通知通道(callback形式)

    Notification.getSlots(callback: AsyncCallback>)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ———————————————- | —— | —————————— | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //getSlots回调
    2. function getSlotsCallback(err,data) {
    3. console.info("==========================>getSlotsCallback=======================>");
    4. }
    5. Notification.getSlots(getSlotsCallback)
  • 获取此应用程序的所有通知通道(Promise形式)

    Notification.getSlots()

    • 参数描述

      无参数

    • 返回值

      Promise>

    • 示例代码

    1. Notification.getSlots().then((data) => {
    2. console.info("==========================>getSlotsCallback=======================>");
    3. });
删除通知通道
  • 根据通知通道类型删除通知通道(callback形式)

    Notification.removeSlot(slotType: SlotType, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————————————————————————- | | SlotType | 只读 | SlotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //removeSlot回调
    2. function removeSlotCallback(err) {
    3. console.info("==========================>removeSlotCallback=======================>");
    4. }
    5. var slotType = SOCIAL_COMMUNICATION;
    6. Notification.removeSlot(slotType, removeSlotCallback)
  • 根据通知通道类型删除通知通道(Promise形式)

    Notification.removeSlot(slotType: SlotType)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ———— | —— | —————————————————————————————- | | SlotType | 只读 | SlotType | 是 | 通知渠道类型,目前分为社交通信、服务提醒、内容咨询和其他类型 |

    • 返回值

      Promise<void>

    • 示例代码

    1. var slotType = SOCIAL_COMMUNICATION;
    2. Notification.removeSlot(slotType).then((void) => {
    3. console.info("==========================>removeSlotCallback=======================>");
    4. });
  • 删除所有通知通道(callback形式)

    Notification.removeAllSlots(callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————— | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. function removeAllSlotsCallBack(err) {
    2. console.info("================>removeAllSlotsCallBack=======================>");
    3. }
    4. Notification.removeAllSlots(removeAllCallBack)
  • 删除所有通知通道(Promise形式)

    Notification.removeAllSlots()

    • 参数描述

      无参数

    • 返回值

      Promise<void>

    • 示例代码

    1. Notification.removeAllSlots().then((void) => {
    2. console.info("==========================>removeAllSlotsCallBack=======================>");
    3. });
发布通知
  • 发布通知(callback形式)

    Notification.publish(request: NotificationRequest, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————————————————- | | request | 只读 | NotificationRequest | 是 | 设置要发布通知内容的NotificationRequest对象 | | callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //publish回调
    2. function publishCallback(err) {
    3. console.info("==========================>publishCallback=======================>");
    4. }
    5. //通知Request对象
    6. var request = {
    7. id: 1,
    8. content: {
    9. contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
    10. normal: {
    11. title: "test_title",
    12. text: "test_text",
    13. additionalText: "test_additionalText"
    14. }
    15. }
    16. }
    17. Notification.publish(request, publishCallback);
  • 发布通知(Promise形式)

    Notification.publish(request: NotificationRequest)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———- | ———— | —————————- | —— | —————————————————————- | | request | 只读 | NotificationRequest | 是 | 设置要发布通知内容的NotificationRequest对象 |

    • 返回值

      Promise<void>

    • 示例代码

    1. //通知Request对象
    2. var notificationRequest = {
    3. notificationId: 1,
    4. content: {
    5. contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
    6. normal: {
    7. title: "test_title",
    8. text: "test_text",
    9. additionalText: "test_additionalText"
    10. }
    11. }
    12. }
    13. Notification.publish(notificationRequest).then((void) => {

    console.info(“==========================>publishCallback=======================>”); }); ```

取消通知
  • 取消指定通知(callback形式)

    Notification.cancel(id: number, label: string, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————— | | id | 只读 | number | 是 | 通知ID | | lable | 只读 | string | 是 | 通知标签 | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //cancel回调
    2. function cancelCallback(err) {
    3. console.info("==========================>cancelCallback=======================>");
    4. }
    5. Notification.cancel(0, "label", cancelCallback)
  • 取消指定通知(Promise形式)

    Notification.cancel(id:number, label?:string)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ——- | ———— | ——— | —— | ———— | | id | 只读 | number | 是 | 通知ID | | lable | 只读 | string | 是 | 通知标签 |

    • 返回值

      Promise<void>

    • 示例代码

    1. Notification.cancel(0).then((void) => {
    2. console.info("==========================>cancelCallback=======================>");
    3. });
  • 取消指定id通知(callback形式)

    Notification.cancel(id: number, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————— | | id | 只读 | number | 是 | 通知ID | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //cancel回调
    2. function cancelCallback(err) {
    3. console.info("==========================>cancelCallback=======================>");
    4. }
    5. Notification.cancel(0, cancelCallback)
  • 取消所有已发布的通知(callback形式)

    Notification.cancelAll(callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————— | | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 |

    • 返回值

      void

    • 示例代码

    1. //cancel回调
    2. function cancelAllback(err) {
    3. console.info("==========================>cancelAllback=======================>");
    4. }
    5. Notification.cancelAll(cancelCallback)
  • 取消所有已发布的通知(Promise形式)

    Notification.cancelAll()

    • 参数描述

      无参数

    • 返回值

      Promise

    • 示例代码

    1. Notification.cancelAll().then((void) => {
    1. console.info("==========================>cancelAllback=======================>");

    }); ```

获取当前应用活动通知
  • 获取当前应用的活动通知数(Callback形式)

    Notification.getActiveNotificationCount(callback: AsyncCallback<number>)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ————————————- | —— | ——————————— | | callback | 只读 | AsyncCallback<number> | 是 | 获取活动通知数回调函数 |

    • 返回值

      void

    • 示例代码

    1. function getActiveNotificationCountCallback(err, data) {
    2. console.info("==========================>getActiveNotificationCountCallback=======================>");
    3. }
    4. Notification.getActiveNotificationCount(getActiveNotificationCountCallback);
  • 获取当前应用的活动通知数(Promise形式)

    Notification.getActiveNotificationCount()

    • 参数描述

    • 返回值

      Promise<number>

    • 示例代码

    1. Notification.getActiveNotificationCount().then((data) => {
    2. console.info("==========================>getActiveNotificationCountCallback=======================>");
    3. });
  • 获取当前应用的活动通知(Callback形式)

    Notification.getActiveNotifications(callback: AsyncCallback>)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ————————————————————- | —— | ——————————————— | | callback | 只读 | AsyncCallback> | 是 | 获取当前应用的活动通知回调函数 |

    • 返回值

      void

    • 示例代码

    1. function getActiveNotificationsCallback(err, data) {
    2. console.info("==========================>getActiveNotificationsCallback=======================>");
    3. }
    4. Notification.getActiveNotifications(getActiveNotificationsCallback);
  • 获取当前应用的活动通知(Promise形式)

    Notification.getActiveNotifications()

    • 参数描述

    • 返回值

      Promise>

    • 示例代码

    1. Notification.getActiveNotifications().then((data) => {
    2. console.info("==========================>getActiveNotificationsCallback=======================>");
    3. });

WantAgent接口

导入模块
  1. import WantAgent from '@ohos.wantAgent';
WantAgentInfo类型说明

WantAgentInfo类封装了获取一个WantAgent实例所需的数据。

名称 读写属性 类型 必填 描述
wants 读、写 Array 将被执行的动作列表
operationType 读、写 wantAgent.OperationType 动作类型
requestCode 读、写 number 使用者定义的一个私有值
wantAgentFlags 读、写 Array 动作执行属性
extraInfo 读、写 {[key: string]: any} 额外数据
  • OperationType类型说明
名称 读写属性 类型 描述
UNKNOWN_TYPE 只读 enum 不识别的类型
START_ABILITY 只读 enum 开启一个有页面的Ability
START_ABILITIES 只读 enum 开启多个有页面的Ability
START_SERVICE 只读 enum 开启一个无页面的ability
SEND_COMMON_EVENT 只读 enum 发送一个公共事件
  • WantAgentFlags类型说明
名称 读写属性 类型 描述
ONE_TIME_FLAG 只读 enum WantAgent仅能使用一次
NO_BUILD_FLAG 只读 enum 如果描述WantAgent对象不存在,则不创建它,直接返回null
CANCEL_PRESENT_FLAG 只读 enum 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象
UPDATE_PRESENT_FLAG 只读 enum 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据
CONSTANT_FLAG 只读 enum WantAgent是不可变的
REPLACE_ELEMENT 只读 enum 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代
REPLACE_ACTION 只读 enum 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代
REPLACE_URI 只读 enum 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代
REPLACE_ENTITIES 只读 enum 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代
REPLACE_BUNDLE 只读 enum 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代
TriggerInfo类型说明

TriggerInfo类封装了主动激发一个WantAgent实例所需的数据。

名称 读写属性 类型 必填 描述
code 读、写 number result code
want 读、写 Want Want
permission 读、写 string 权限定义
extraInfo 读、写 {[key: string]: any} 额外数据
创建WantAgent
  • 创建WantAgent(callback形式)

    WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ———————————— | —— | ———————————- | | info | 只读 | WantAgentInfo | 是 | WantAgent信息 | | callback | 只读 | AsyncCallback | 是 | 创建WantAgent的回调方法 |

    • 返回值

      void

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //getWantAgent回调
    4. function getWantAgentCallback(err, data) {
    5. console.info("==========================>getWantAgentCallback=======================>");
    6. }
    7. //WantAgentInfo对象
    8. var wantAgentInfo = {
    9. wants: [
    10. {
    11. deviceId: "deviceId",
    12. bundleName: "com.neu.setResultOnAbilityResultTest1",
    13. abilityName: "com.example.test.MainAbility",
    14. action: "action1",
    15. entities: ["entity1"],
    16. type: "MIMETYPE",
    17. uri: "key={true,true,false}",
    18. parameters:
    19. {
    20. mykey0: 2222,
    21. mykey1: [1, 2, 3],
    22. mykey2: "[1, 2, 3]",
    23. mykey3: "ssssssssssssssssssssssssss",
    24. mykey4: [false, true, false],
    25. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    26. mykey6: true,
    27. }
    28. }
    29. ],
    30. operationType: OperationType.START_ABILITIES,
    31. requestCode: 0,
    32. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    33. }
    34. wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
  • 创建WantAgent(Promise形式)

    WantAgent.getWantAgent(info: WantAgentInfo): Promise

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | —— | ———— | ——————- | —— | ——————- | | info | 只读 | WantAgentInfo | 是 | WantAgent信息 |

    • 返回值

      Promise

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //WantAgentInfo对象
    4. var wantAgentInfo = {
    5. wants: [
    6. {
    7. deviceId: "deviceId",
    8. bundleName: "com.neu.setResultOnAbilityResultTest1",
    9. abilityName: "com.example.test.MainAbility",
    10. action: "action1",
    11. entities: ["entity1"],
    12. type: "MIMETYPE",
    13. uri: "key={true,true,false}",
    14. parameters:
    15. {
    16. mykey0: 2222,
    17. mykey1: [1, 2, 3],
    18. mykey2: "[1, 2, 3]",
    19. mykey3: "ssssssssssssssssssssssssss",
    20. mykey4: [false, true, false],
    21. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    22. mykey6: true,
    23. }
    24. }
    25. ],
    26. operationType: OperationType.START_ABILITIES,
    27. requestCode: 0,
    28. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    29. }
    30. wantAgent.getWantAgent(wantAgentInfo).then((data) => {
    1. console.info("==========================>getWantAgentCallback=======================>");

    }); ```

获取WantAgent实例的包名
  • 获取WantAgent实例的包名(callback形式)

    WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ——————————- | —— | ———————————————————— | | agent | 只读 | WantAgent | 是 | WantAgent对象 | | callback | 只读 | AsyncCallback | 是 | 获取WantAgent指定的bundle name的回调方法 |

    • 返回值

      void

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //getWantAgent回调
    6. function getWantAgentCallback(err, data) {
    7. console.info("==========================>getWantAgentCallback=======================>");
    8. if (err.code == 0) {
    9. WantAgent = data;
    10. } else {
    11. console.info('----getWantAgent failed!----');
    12. }
    13. }
    14. //WantAgentInfo对象
    15. var wantAgentInfo = {
    16. wants: [
    17. {
    18. deviceId: "deviceId",
    19. bundleName: "com.neu.setResultOnAbilityResultTest1",
    20. abilityName: "com.example.test.MainAbility",
    21. action: "action1",
    22. entities: ["entity1"],
    23. type: "MIMETYPE",
    24. uri: "key={true,true,false}",
    25. parameters:
    26. {
    27. mykey0: 2222,
    28. mykey1: [1, 2, 3],
    29. mykey2: "[1, 2, 3]",
    30. mykey3: "ssssssssssssssssssssssssss",
    31. mykey4: [false, true, false],
    32. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    33. mykey6: true,
    34. }
    35. }
    36. ],
    37. operationType: OperationType.START_ABILITIES,
    38. requestCode: 0,
    39. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    40. }
    41. wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    42. //getBundleName回调
    43. function getBundleNameCallback(err, data) {
    44. console.info("==========================>getBundleNameCallback=======================>");
    45. }
    46. wantAgent.getBundleName(WantAgent, getBundleNameCallback)
  • 获取WantAgent实例的包名(Promise形式)

    WantAgent.getBundleName(agent: WantAgent): Promise

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ——- | ———— | ————- | —— | ——————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 |

    • 返回值

      Promise

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //WantAgentInfo对象
    6. var wantAgentInfo = {
    7. wants: [
    8. {
    9. deviceId: "deviceId",
    10. bundleName: "com.neu.setResultOnAbilityResultTest1",
    11. abilityName: "com.example.test.MainAbility",
    12. action: "action1",
    13. entities: ["entity1"],
    14. type: "MIMETYPE",
    15. uri: "key={true,true,false}",
    16. parameters:
    17. {
    18. mykey0: 2222,
    19. mykey1: [1, 2, 3],
    20. mykey2: "[1, 2, 3]",
    21. mykey3: "ssssssssssssssssssssssssss",
    22. mykey4: [false, true, false],
    23. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    24. mykey6: true,
    25. }
    26. }
    27. ],
    28. operationType: OperationType.START_ABILITIES,
    29. requestCode: 0,
    30. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    31. }
    32. wantAgent.getWantAgent(wantAgentInfo).then((data) => {
    33. console.info("==========================>getWantAgentCallback=======================>");
    34. WantAgent = data;
    35. });
    36. wantAgent.getBundleName(WantAgent).then((data) => {
    37. console.info("==========================>getBundleNameCallback=======================>");
    38. });
获取WantAgent实例的用户ID
  • 获取WantAgent实例的用户ID(callback形式)

    WantAgent.getUid(agent: WantAgent, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | ——————————- | —— | —————————————————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 | | callback | 只读 | AsyncCallback | 是 | 获取WantAgent实例的用户ID的回调方法 |

    • 返回值

      void

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //getWantAgent回调
    6. function getWantAgentCallback(err, data) {
    7. console.info("==========================>getWantAgentCallback=======================>");
    8. if (err.code == 0) {
    9. WantAgent = data;
    10. } else {
    11. console.info('----getWantAgent failed!----');
    12. }
    13. }
    14. //WantAgentInfo对象
    15. var wantAgentInfo = {
    16. wants: [
    17. {
    18. deviceId: "deviceId",
    19. bundleName: "com.neu.setResultOnAbilityResultTest1",
    20. abilityName: "com.example.test.MainAbility",
    21. action: "action1",
    22. entities: ["entity1"],
    23. type: "MIMETYPE",
    24. uri: "key={true,true,false}",
    25. parameters:
    26. {
    27. mykey0: 2222,
    28. mykey1: [1, 2, 3],
    29. mykey2: "[1, 2, 3]",
    30. mykey3: "ssssssssssssssssssssssssss",
    31. mykey4: [false, true, false],
    32. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    33. mykey6: true,
    34. }
    35. }
    36. ],
    37. operationType: OperationType.START_ABILITIES,
    38. requestCode: 0,
    39. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    40. }
    41. wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    42. //getUid回调
    43. function getUidCallback(err, data) {
    44. console.info("==========================>getUidCallback=======================>");
    45. }
    46. wantAgent.getUid(WantAgent, getUidCallback)
  • 获取WantAgent实例的用户ID(Promise形式)

    WantAgent.getUid(agent: WantAgent): Promise

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ——- | ———— | ————- | —— | ——————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 |

    • 返回值

      Promise

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //WantAgentInfo对象
    6. var wantAgentInfo = {
    7. wants: [
    8. {
    9. deviceId: "deviceId",
    10. bundleName: "com.neu.setResultOnAbilityResultTest1",
    11. abilityName: "com.example.test.MainAbility",
    12. action: "action1",
    13. entities: ["entity1"],
    14. type: "MIMETYPE",
    15. uri: "key={true,true,false}",
    16. parameters:
    17. {
    18. mykey0: 2222,
    19. mykey1: [1, 2, 3],
    20. mykey2: "[1, 2, 3]",
    21. mykey3: "ssssssssssssssssssssssssss",
    22. mykey4: [false, true, false],
    23. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    24. mykey6: true,
    25. }
    26. }
    27. ],
    28. operationType: OperationType.START_ABILITIES,
    29. requestCode: 0,
    30. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    31. }
    32. wantAgent.getWantAgent(wantAgentInfo).then((data) => {
    33. console.info("==========================>getWantAgentCallback=======================>");
    34. WantAgent = data;
    35. });
    36. wantAgent.getUid(WantAgent).then((data) => {
    37. console.info("==========================>getUidCallback=======================>");
    38. });
取消WantAgent实例
  • 取消WantAgent实例(callback形式)

    WantAgent.cancel(agent: WantAgent, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ———— | ———— | —————————- | —— | —————————————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 | | callback | 只读 | AsyncCallback | 是 | 取消WantAgent实例的回调方法 |

    • 返回值

      void

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //getWantAgent回调
    6. function getWantAgentCallback(err, data) {
    7. console.info("==========================>getWantAgentCallback=======================>");
    8. if (err.code == 0) {
    9. WantAgent = data;
    10. } else {
    11. console.info('----getWantAgent failed!----');
    12. }
    13. }
    14. //WantAgentInfo对象
    15. var wantAgentInfo = {
    16. wants: [
    17. {
    18. deviceId: "deviceId",
    19. bundleName: "com.neu.setResultOnAbilityResultTest1",
    20. abilityName: "com.example.test.MainAbility",
    21. action: "action1",
    22. entities: ["entity1"],
    23. type: "MIMETYPE",
    24. uri: "key={true,true,false}",
    25. parameters:
    26. {
    27. mykey0: 2222,
    28. mykey1: [1, 2, 3],
    29. mykey2: "[1, 2, 3]",
    30. mykey3: "ssssssssssssssssssssssssss",
    31. mykey4: [false, true, false],
    32. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    33. mykey6: true,
    34. }
    35. }
    36. ],
    37. operationType: OperationType.START_ABILITIES,
    38. requestCode: 0,
    39. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    40. }
    41. wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    42. //cancel回调
    43. function cancelCallback(err, data) {
    44. console.info("==========================>cancelCallback=======================>");
    45. }
    46. wantAgent.cancel(WantAgent, cancelCallback)
  • 取消WantAgent实例(Promise形式)

    WantAgent.cancel(agent: WantAgent): Promise

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ——- | ———— | ————- | —— | ——————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 |

    • 返回值

      Promise

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //WantAgentInfo对象
    6. var wantAgentInfo = {
    7. wants: [
    8. {
    9. deviceId: "deviceId",
    10. bundleName: "com.neu.setResultOnAbilityResultTest1",
    11. abilityName: "com.example.test.MainAbility",
    12. action: "action1",
    13. entities: ["entity1"],
    14. type: "MIMETYPE",
    15. uri: "key={true,true,false}",
    16. parameters:
    17. {
    18. mykey0: 2222,
    19. mykey1: [1, 2, 3],
    20. mykey2: "[1, 2, 3]",
    21. mykey3: "ssssssssssssssssssssssssss",
    22. mykey4: [false, true, false],
    23. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    24. mykey6: true,
    25. }
    26. }
    27. ],
    28. operationType: OperationType.START_ABILITIES,
    29. requestCode: 0,
    30. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    31. }
    32. wantAgent.getWantAgent(wantAgentInfo).then((data) => {
    33. console.info("==========================>getWantAgentCallback=======================>");
    34. WantAgent = data;
    35. });
    36. wantAgent.cancel(WantAgent).then((data) => {
    37. console.info("==========================>cancelCallback=======================>");
    38. });
主动激发WantAgent实例
  • 主动激发WantAgent实例(callback形式)

    WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | —————- | ———— | —————————————- | —— | ———————————————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 | | triggerInfo | 只读 | TriggerInfo | 是 | TriggerInfo对象 | | callback | 只读 | AsyncCallback | 是 | 主动激发WantAgent实例的回调方法 |

    • 返回值

      void

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent;
    5. //getWantAgent回调
    6. function getWantAgentCallback(err, data) {
    7. console.info("==========================>getWantAgentCallback=======================>");
    8. if (err.code == 0) {
    9. WantAgent = data;
    10. } else {
    11. console.info('----getWantAgent failed!----');
    12. }
    13. }
    14. //WantAgentInfo对象
    15. var wantAgentInfo = {
    16. wants: [
    17. {
    18. deviceId: "deviceId",
    19. bundleName: "com.neu.setResultOnAbilityResultTest1",
    20. abilityName: "com.example.test.MainAbility",
    21. action: "action1",
    22. entities: ["entity1"],
    23. type: "MIMETYPE",
    24. uri: "key={true,true,false}",
    25. parameters:
    26. {
    27. mykey0: 2222,
    28. mykey1: [1, 2, 3],
    29. mykey2: "[1, 2, 3]",
    30. mykey3: "ssssssssssssssssssssssssss",
    31. mykey4: [false, true, false],
    32. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    33. mykey6: true,
    34. }
    35. }
    36. ],
    37. operationType: OperationType.START_ABILITIES,
    38. requestCode: 0,
    39. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    40. }
    41. wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    42. //cancel回调
    43. function triggerCallback(err, data) {
    44. console.info("==========================>triggerCallback=======================>");
    45. }
    46. wantAgent.trigger(WantAgent, triggerCallback)
判断两个WantAgent实例是否相等
  • 判断两个WantAgent实例是否相等(callback形式)

    WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback)

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ————— | ———— | ——————————— | —— | ———————————————————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 | | otherAgent | 只读 | WantAgent | 是 | WantAgent对象 | | callback | 只读 | AsyncCallback | 是 | 判断两个WantAgent实例是否相等的回调方法 |

    • 返回值

      void

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent1;
    5. var WantAgent2;
    6. //getWantAgent回调
    7. function getWantAgentCallback(err, data) {
    8. console.info("==========================>getWantAgentCallback=======================>");
    9. if (err.code == 0) {
    10. WantAgent1 = data;
    11. WantAgent2 = data;
    12. } else {
    13. console.info('----getWantAgent failed!----');
    14. }
    15. }
    16. //WantAgentInfo对象
    17. var wantAgentInfo = {
    18. wants: [
    19. {
    20. deviceId: "deviceId",
    21. bundleName: "com.neu.setResultOnAbilityResultTest1",
    22. abilityName: "com.example.test.MainAbility",
    23. action: "action1",
    24. entities: ["entity1"],
    25. type: "MIMETYPE",
    26. uri: "key={true,true,false}",
    27. parameters:
    28. {
    29. mykey0: 2222,
    30. mykey1: [1, 2, 3],
    31. mykey2: "[1, 2, 3]",
    32. mykey3: "ssssssssssssssssssssssssss",
    33. mykey4: [false, true, false],
    34. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    35. mykey6: true,
    36. }
    37. }
    38. ],
    39. operationType: OperationType.START_ABILITIES,
    40. requestCode: 0,
    41. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    42. }
    43. wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
    44. //cancel回调
    45. function equalCallback(err, data) {
    46. console.info("==========================>equalCallback=======================>");
    47. }
    48. wantAgent.equal(WantAgent1, WantAgent1, equalCallback)
  • 判断两个WantAgent实例是否相等(Promise形式)

    WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise

    • 参数描述

    | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ————— | ———— | ————- | —— | ——————- | | agent | 只读 | WantAgent | 是 | WantAgent对象 | | otherAgent | 只读 | WantAgent | 是 | WantAgent对象 |

    • 返回值

      Promise

    • 示例代码

    1. import wantAgent from '@ohos.wantAgent';
    2. import { OperationType, Flags } from '@ohos.wantagent';
    3. //wantAgent对象
    4. var WantAgent1;
    5. var WantAgent2;
    6. //WantAgentInfo对象
    7. var wantAgentInfo = {
    8. wants: [
    9. {
    10. deviceId: "deviceId",
    11. bundleName: "com.neu.setResultOnAbilityResultTest1",
    12. abilityName: "com.example.test.MainAbility",
    13. action: "action1",
    14. entities: ["entity1"],
    15. type: "MIMETYPE",
    16. uri: "key={true,true,false}",
    17. parameters:
    18. {
    19. mykey0: 2222,
    20. mykey1: [1, 2, 3],
    21. mykey2: "[1, 2, 3]",
    22. mykey3: "ssssssssssssssssssssssssss",
    23. mykey4: [false, true, false],
    24. mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
    25. mykey6: true,
    26. }
    27. }
    28. ],
    29. operationType: OperationType.START_ABILITIES,
    30. requestCode: 0,
    31. wantAgentFlags:[Flags.UPDATE_PRESENT_FLAG]
    32. }
    33. wantAgent.getWantAgent(wantAgentInfo).then((data) => {
    34. console.info("==========================>getWantAgentCallback=======================>");
    35. WantAgent = data;
    36. });
    37. wantAgent.equal(WantAgent1, WantAgent2).then((data) => {
    38. console.info("==========================>equalCallback=======================>");
    39. });