提交 601aa594 编写于 作者: X xuzhihao

Fix issue of unmatched content between dts files and md files

Signed-off-by: Nxuzhihao <xuzhihao16@huawei.com>
上级 85d8b219
......@@ -8,6 +8,7 @@
| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 |
| ------------ | ------------------ | ---------------------- |
| COMMON_EVENT_BOOT_COMPLETED | usual.event.BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_LOCKED_BOOT_COMPLETED | usual.event.LOCKED_BOOT_COMPLETED | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_SHUTDOWN | usual.event.SHUTDOWN | 无 |
| COMMON_EVENT_BATTERY_CHANGED | usual.event.BATTERY_CHANGED | 无 |
| COMMON_EVENT_BATTERY_LOW | usual.event.BATTERY_LOW | 无 |
......@@ -16,6 +17,7 @@
| COMMON_EVENT_POWER_DISCONNECTED | usual.event.POWER_DISCONNECTED | 无 |
| COMMON_EVENT_SCREEN_OFF | usual.event.SCREEN_OFF | 无 |
| COMMON_EVENT_SCREEN_ON | usual.event.SCREEN_ON | 无 |
| COMMON_EVENT_THERMAL_LEVEL_CHANGED | usual.event.THERMAL_LEVEL_CHANGED | 无 |
| COMMON_EVENT_USER_PRESENT | usual.event.USER_PRESENT | 无 |
| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 |
| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 |
......@@ -50,7 +52,9 @@
| COMMON_EVENT_USER_BACKGROUND | usual.event.USER_BACKGROUND | 无 |
| COMMON_EVENT_USER_FOREGROUND | usual.event.USER_FOREGROUND | 无 |
| COMMON_EVENT_USER_SWITCHED | usual.event.USER_SWITCHED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_USER_STARTING | usual.event.USER_STARTING | ohos.permission.INTERACT_ACROSS_USERS |
| COMMON_EVENT_USER_UNLOCKED | usual.event.USER_UNLOCKED | 无 |
| COMMON_EVENT_USER_STOPPING | usual.event.USER_STOPPING | ohos.permission.INTERACT_ACROSS_USERS |
| COMMON_EVENT_USER_STOPPED | usual.event.USER_STOPPED | 无 |
| COMMON_EVENT_HWID_LOGIN | common.event.HWID_LOGIN | 无 |
| COMMON_EVENT_HWID_LOGOUT | common.event.HWID_LOGOUT | 无 |
......@@ -63,14 +67,31 @@
| COMMON_EVENT_WIFI_HOTSPOT_STATE | usual.event.wifi.HOTSPOT_STATE | 无 |
| COMMON_EVENT_WIFI_AP_STA_JOIN | usual.event.wifi.WIFI_HS_STA_JOIN | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_AP_STA_LEAVE | usual.event.wifi.WIFI_HS_STA_LEAVE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_MPLINK_STATE_CHANGE | usual.event.wifi.mplink.STATE_CHANGE | ohos.permission.MPLINK_CHANGE_STATE |
| COMMON_EVENT_WIFI_P2P_CONN_STATE | usual.event.wifi.p2p.CONN_STATE_CHANGE | ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION |
| COMMON_EVENT_WIFI_P2P_STATE_CHANGED | usual.event.wifi.p2p.STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED | usual.event.wifi.p2p.DEVICES_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED | usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED | usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED | usual.event.wifi.p2p.GROUP_STATE_CHANGED | ohos.permission.GET_WIFI_INFO |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.handsfree.ag.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HANDSFREE_AG_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfree.ag.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CURRENT_DEVICE_UPDATE | usual.event.bluetooth.a2dpsource.CURRENT_DEVICE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsource.PLAYING_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_AVRCP_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsource.AVRCP_CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSOURCE_CODEC_VALUE_UPDATE | usual.event.bluetooth.a2dpsource.CODEC_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_DISCOVERED | usual.event.bluetooth.remotedevice.DISCOVERED | ohos.permission.LOCATION |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CLASS_VALUE_UPDATE | usual.event.bluetooth.remotedevice.CLASS_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_CONNECTED | usual.event.bluetooth.remotedevice.ACL_CONNECTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_ACL_DISCONNECTED | usual.event.bluetooth.remotedevice.ACL_DISCONNECTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_NAME_UPDATE | usual.event.bluetooth.remotedevice.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIR_STATE | usual.event.bluetooth.remotedevice.PAIR_STATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_BATTERY_VALUE_UPDATE | usual.event.bluetooth.remotedevice.BATTERY_VALUE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_SDP_RESULT | usual.event.bluetooth.remotedevice.SDP_RESULT | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_UUID_VALUE | usual.event.bluetooth.remotedevice.UUID_VALUE | ohos.permission.DISCOVER_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_REQ | usual.event.bluetooth.remotedevice.PAIRING_REQ | ohos.permission.DISCOVER_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_PAIRING_CANCEL | usual.event.bluetooth.remotedevice.PAIRING_CANCEL | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REQ | usual.event.bluetooth.remotedevice.CONNECT_REQ | 无 |
| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_REPLY | usual.event.bluetooth.remotedevice.CONNECT_REPLY | 无 |
......@@ -79,14 +100,29 @@
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AUDIO_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AUDIO_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_COMMON_EVENT | usual.event.bluetooth.handsfreeunit.AG_COMMON_EVENT | 无 |
| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_AG_CALL_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.AG_CALL_STATE_UPDATE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_STATE_UPDATE | usual.event.bluetooth.host.STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISCOVERABLE | usual.event.bluetooth.host.REQ_DISCOVERABLE | 无 |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_ENABLE | usual.event.bluetooth.host.REQ_ENABLE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_REQ_DISABLE | usual.event.bluetooth.host.REQ_DISABLE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_SCAN_MODE_UPDATE | usual.event.bluetooth.host.SCAN_MODE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_STARTED | usual.event.bluetooth.host.DISCOVERY_STARTED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_DISCOVERY_FINISHED | usual.event.bluetooth.host.DISCOVERY_FINISHED | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_HOST_NAME_UPDATE | usual.event.bluetooth.host.NAME_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_CONNECT_STATE_UPDATE | usual.event.bluetooth.a2dpsink.CONNECT_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_PLAYING_STATE_UPDATE | usual.event.bluetooth.a2dpsink.PLAYING_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_BLUETOOTH_A2DPSINK_AUDIO_STATE_UPDATE | usual.event.bluetooth.a2dpsink.AUDIO_STATE_UPDATE | ohos.permission.USE_BLUETOOTH |
| COMMON_EVENT_NFC_ACTION_ADAPTER_STATE_CHANGED | usual.event.nfc.action.ADAPTER_STATE_CHANGED | 无 |
| COMMON_EVENT_NFC_ACTION_RF_FIELD_ON_DETECTED | usual.event.nfc.action.RF_FIELD_ON_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
| COMMON_EVENT_NFC_ACTION_RF_FIELD_OFF_DETECTED | usual.event.nfc.action.RF_FIELD_OFF_DETECTED | ohos.permission.MANAGE_SECURE_SETTINGS |
| COMMON_EVENT_DISCHARGING | usual.event.DISCHARGING | 无 |
| COMMON_EVENT_CHARGING | usual.event.CHARGING | 无 |
| COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED | usual.event.DEVICE_IDLE_MODE_CHANGED | 无 |
| COMMON_EVENT_POWER_SAVE_MODE_CHANGED | usual.event.POWER_SAVE_MODE_CHANGED | 无 |
| COMMON_EVENT_USER_ADDED | usual.event.USER_ADDED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_USER_REMOVED | usual.event.USER_REMOVED | ohos.permission.MANAGE_USERS |
| COMMON_EVENT_ABILITY_ADDED | usual.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_ABILITY_REMOVED | usual.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_ABILITY_UPDATED | usual.event.ABILITY_UPDATED | ohos.permission.LISTEN_BUNDLE_CHANGE |
| COMMON_EVENT_LOCATION_MODE_STATE_CHANGED | usual.event.location.MODE_STATE_CHANGED | 无 |
| COMMON_EVENT_IVI_SLEEP | common.event.IVI_SLEEP | 无 |
| COMMON_EVENT_IVI_PAUSE | common.event.IVI_PAUSE | 无 |
......@@ -107,8 +143,18 @@
| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_REMOVED | usual.event.data.VOLUME_REMOVED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_UNMOUNTED | usual.event.data.VOLUME_UNMOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_MOUNTED | usual.event.data.VOLUME_MOUNTED | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_BAD_REMOVAL | usual.event.data.VOLUME_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VOLUME_EJECT | usual.event.data.VOLUME_EJECT | ohos.permission.WRITE_USER_STORAGE 或 ohos.permission.READ_USER_STORAGE |
| COMMON_EVENT_VISIBLE_ACCOUNTS_UPDATED | usual.event.data.VISIBLE_ACCOUNTS_UPDATED | ohos.permission.GET_APP_ACCOUNTS |
| COMMON_EVENT_ACCOUNT_DELETED | usual.event.data.ACCOUNT_DELETED | ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS |
| COMMON_EVENT_FOUNDATION_READY | usual.event.data.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED |
| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 |
| COMMON_EVENT_SPLIT_SCREEN | usual.event.SPLIT_SCREEN | ohos.permission.RECEIVER_SPLIT_SCREEN |
## 导入模块
......@@ -191,7 +237,7 @@ CommonEvent.publish("event", options, PublishCallBack);
## CommonEvent.publishAsUser
## CommonEvent.publishAsUser<sup>8+</sup>
publishAsUser(event: string, userId: number, callback: AsyncCallback\<void>): void
......@@ -228,7 +274,7 @@ CommonEvent.publishAsUser("event", userId, PublishAsUserCallBack);
## CommonEvent.publishAsUser
## CommonEvent.publishAsUser<sup>8+</sup>
publishAsUser(event: string, userId: number, options: CommonEventPublishData, callback: AsyncCallback\<void>): void
......
# Notification模块
>**说明:**
>
>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
......@@ -74,6 +78,82 @@ Notification.publish(notificationRequest).then(() => {
```
## Notification.publish<sup>8+</sup>
publish(request: NotificationRequest, userId: number, callback: AsyncCallback<void>): void
发布通知(callback形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | ---- | ----------------------------------------- | ---- | ------------------------------------------- |
| request | 是 | 否 |[NotificationRequest](#notificationrequest) | 是 | 设置要发布通知内容的NotificationRequest对象。 |
| userId | 是 | 否 |number | 是 | 接收通知用户的Id。 |
| callback | 是 | 否 |AsyncCallback\<void\> | 是 | 被指定的回调方法。 |
**示例:**
```js
//publish回调
function publishCallback(err) {
console.info("==========================>publishCallback=======================>");
}
// 接收通知的用户ID
var userId = 1
//通知Request对象
var notificationRequest = {
id: 1,
content: {
contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
normal: {
title: "test_title",
text: "test_text",
additionalText: "test_additionalText"
}
}
}
Notification.publish(notificationRequest, userId, publishCallback);
```
## Notification.publish<sup>8+</sup>
publish(request: NotificationRequest, userId: number): Promise<void>
发布通知(Promise形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | ---- | ----------------------------------------- | ---- | ------------------------------------------- |
| request | 是 | 否 |[NotificationRequest](#notificationrequest) | 是 | 设置要发布通知内容的NotificationRequest对象。 |
| userId | 是 | 否 |number | 是 | 接收通知用户的Id。 |
**示例:**
```js
var notificationRequest = {
notificationId: 1,
content: {
contentType: Notification.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
normal: {
title: "test_title",
text: "test_text",
additionalText: "test_additionalText"
}
}
}
var userId = 1
Notification.publish(notificationRequest, userId).then(() => {
console.info("==========================>publishCallback=======================>");
});
```
## Notification.cancel
......@@ -464,7 +544,7 @@ Notification.getSlots(getSlotsCallback)
## Notification.getSlots
getSlots()
getSlots(): Promise<Array<NotificationSlot>>
获取此应用程序的所有通知通道(Promise形式)。
......@@ -1422,6 +1502,58 @@ Notification.removeAll().then(() => {
});
```
## Notification.removeAll<sup>8+</sup>
removeAll(userId: number, callback: AsyncCallback<void>): void
删除所有通知(callback形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ------------ | ---- | ---------- |
| userId | 是 | 否 | number | 是 | 接收通知用户的Id。 |
| callback | 是 | 否 | AsyncCallback\<void\> | 是 | 删除所有通知回调函数。 |
**示例:**
```js
function removeAllCallback(err) {
console.info("==========================>removeAllCallback=======================>");
}
var userId = 1
Notification.removeAll(userId, removeAllCallback);
```
## Notification.removeAll<sup>8+</sup>
removeAll(userId: number): Promise<void>
删除所有通知(Promise形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ------------ | ---- | ---------- |
| userId | 是 | 否 | number | 是 | 接收通知用户的Id。 |
**示例:**
```js
function removeAllCallback(err) {
console.info("==========================>removeAllCallback=======================>");
}
var userId = 1
Notification.removeAll(userId, removeAllCallback);
```
## Notification.getAllActiveNotifications
......@@ -1574,7 +1706,7 @@ Notification.getActiveNotifications().then((data) => {
## Notification.cancelGroup
## Notification.cancelGroup<sup>8+</sup>
cancelGroup(groupName: string, callback: AsyncCallback\<void\>): void
......@@ -1603,7 +1735,7 @@ Notification.cancelGroup(groupName, cancelGroupCallback);
## Notification.cancelGroup
## Notification.cancelGroup<sup>8+</sup>
cancelGroup(groupName: string): Promise\<void\>
......@@ -1628,7 +1760,7 @@ Notification.cancelGroup(groupName).then(() => {
## Notification.removeGroupByBundle
## Notification.removeGroupByBundle<sup>8+</sup>
removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCallback\<void\>): void
......@@ -1659,7 +1791,7 @@ Notification.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCal
## Notification.removeGroupByBundle
## Notification.removeGroupByBundle<sup>8+</sup>
removeGroupByBundle(bundle: BundleOption, groupName: string): Promise\<void\>
......@@ -1686,7 +1818,7 @@ Notification.removeGroupByBundle(bundleOption, groupName).then(() => {
## Notification.setDoNotDisturbDate
## Notification.setDoNotDisturbDate<sup>8+</sup>
setDoNotDisturbDate(date: DoNotDisturbDate, callback: AsyncCallback\<void\>): void
......@@ -1719,7 +1851,7 @@ Notification.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback);
## Notification.setDoNotDisturbDate
## Notification.setDoNotDisturbDate<sup>8+</sup>
setDoNotDisturbDate(date: DoNotDisturbDate): Promise\<void\>
......@@ -1747,8 +1879,75 @@ Notification.setDoNotDisturbDate(doNotDisturbDate).then(() => {
```
## Notification.setDoNotDisturbDate<sup>8+</sup>
setDoNotDisturbDate(date: DoNotDisturbDate, userId: number, callback: AsyncCallback\<void\>): void
指定用户设置免打扰时间(Callback形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | --- | --------------------- | ---- | ---------------------- |
| date | 是 | 否 | DoNotDisturbDate | 是 | 免打扰时间选项。 |
| userId | 是 | 否 | number | 是 | 设置免打扰事件的用户ID。 |
| callback | 是 | 否 | AsyncCallback\<void\> | 是 | 设置免打扰时间回调函数。 |
**示例:**
```js
function setDoNotDisturbDateCallback(err) {
console.info("==========================>setDoNotDisturbDateCallback=======================>");
}
var doNotDisturbDate = {
type: Notification.DoNotDisturbType.TYPE_ONCE,
begin: new Date(),
end: new Date(2021, 11, 15, 18, 0)
}
var userId = 1
Notification.setDoNotDisturbDate(doNotDisturbDate, userId, setDoNotDisturbDateCallback);
```
## Notification.setDoNotDisturbDate<sup>8+</sup>
setDoNotDisturbDate(date: DoNotDisturbDate, userId: number): Promise\<void\>
指定用户设置免打扰时间接口(Promise形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ---------------- | ---- | -------------- |
| date | 是 | 否 | DoNotDisturbDate | 是 | 免打扰时间选项。 |
| userId | 是 | 否 | number | 是 | 设置免打扰事件的用户ID。 |
**示例:**
```js
var doNotDisturbDate = {
type: Notification.DoNotDisturbType.TYPE_ONCE,
begin: new Date(),
end: new Date(2021, 11, 15, 18, 0)
}
var userId = 1
Notification.setDoNotDisturbDate(doNotDisturbDate, userId).then(() => {
console.info("==========================>setDoNotDisturbDatePromise=======================>");
});
```
## Notification.getDoNotDisturbDate
## Notification.getDoNotDisturbDate<sup>8+</sup>
getDoNotDisturbDate(callback: AsyncCallback\<DoNotDisturbDate\>): void
......@@ -1774,7 +1973,7 @@ Notification.getDoNotDisturbDate(getDoNotDisturbDateCallback);
## Notification.getDoNotDisturbDate
## Notification.getDoNotDisturbDate<sup>8+</sup>
getDoNotDisturbDate(): Promise\<DoNotDisturbDate\>
......@@ -1797,8 +1996,67 @@ Notification.getDoNotDisturbDate().then((data) => {
```
## Notification.getDoNotDisturbDate<sup>8+</sup>
getDoNotDisturbDate(userId: number, callback: AsyncCallback\<DoNotDisturbDate\>): void
指定用户查询免打扰时间接口(Callback形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | --- | --------------------------------- | ---- | ---------------------- |
| callback | 是 | 否 | AsyncCallback\<DoNotDisturbDate\> | 是 | 查询免打扰时间回调函数。 |
| userId | 是 | 否 | number | 是 | 设置免打扰事件的用户ID。 |
**示例:**
```js
function getDoNotDisturbDateCallback(err,data) {
console.info("==========================>getDoNotDisturbDateCallback=======================>");
}
var userId = 1
Notification.getDoNotDisturbDate(userId, getDoNotDisturbDateCallback);
```
## Notification.getDoNotDisturbDate<sup>8+</sup>
getDoNotDisturbDate(userId: number): Promise\<DoNotDisturbDate\>
指定用户查询免打扰时间接口(Promise形式)。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | --- | --------------------------------- | ---- | ---------------------- |
| userId | 是 | 否 | number | 是 | 设置免打扰事件的用户ID。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<DoNotDisturbDate\> | 以Promise形式返回获取查询免打扰时间接口。 |
**示例:**
```js
var userId = 1
Notification.getDoNotDisturbDate(userId).then((data) => {
console.info("==========================>getDoNotDisturbDatePromise=======================>");
});
```
## Notification.supportDoNotDisturbMode
## Notification.supportDoNotDisturbMode<sup>8+</sup>
supportDoNotDisturbMode(callback: AsyncCallback\<boolean\>): void
......@@ -1824,7 +2082,7 @@ Notification.supportDoNotDisturbMode(supportDoNotDisturbModeCallback);
## Notification.supportDoNotDisturbMode
## Notification.supportDoNotDisturbMode<sup>8+</sup>
supportDoNotDisturbMode(): Promise\<boolean\>
......@@ -1848,7 +2106,7 @@ Notification.supportDoNotDisturbMode().then((data) => {
## Notification.isSupportTemplate
## Notification.isSupportTemplate<sup>8+</sup>
isSupportTemplate(templateName: string, callback: AsyncCallback\<boolean\>): void
......@@ -1876,7 +2134,7 @@ Notification.isSupportTemplate(templateName, isSupportTemplateCallback);
## Notification.isSupportTemplate
## Notification.isSupportTemplate<sup>8+</sup>
isSupportTemplate(templateName: string): Promise\<boolean\>
......@@ -1908,9 +2166,9 @@ Notification.isSupportTemplate(templateName).then((data) => {
## Notification.requestEnabledNotification
## Notification.requestEnableNotification<sup>8+</sup>
requestEnabledNotification(callback: AsyncCallback\<boolean\>): void
requestEnabledNotification(callback: AsyncCallback\<void\>): void
应用请求通知使能。
......@@ -1920,17 +2178,13 @@ requestEnabledNotification(callback: AsyncCallback\<boolean\>): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| callback | AsyncCallback\<boolean\> | 是 | 查询模板是否存在的回调函数。 |
| callback | AsyncCallback\<void\> | 是 | 应用请求通知使能的回调函数。 |
**示例:**
```javascript
function requestEnabledNotificationCallback(err) {
if (err.code) {
console.info("isNotificationEnabledSelf failed " + JSON.stringify(err));
} else {
console.info("isNotificationEnabledSelf");
}
function requestEnabledNotificationCallback() {
console.log('------------- requestEnabledNotification --------------');
};
Notification.requestEnabledNotification(requestEnabledNotificationCallback);
......@@ -1938,1404 +2192,946 @@ Notification.requestEnabledNotification(requestEnabledNotificationCallback);
## Notification.requestEnabledNotification
## Notification.requestEnableNotification<sup>8+</sup>
requestEnabledNotification(callback: AsyncCallback\<void\>): void
requestEnabledNotification(): Promise<void>
应用请求通知使能。
**系统能力**:SystemCapability.Notification.Notification
**返回值:**
| 类型 | 说明 |
| ------------------ | --------------- |
| Promise\<boolean\> | Promise方式返回应用请求通知使能。 |
**示例:**
```javascript
Notification.isNotificationEnabledSelf()
Notification.requestEnableNotification()
.then(() => {
console.info("requestEnabledNotification ");
})
.catch((err) => {
console.info("requestEnabledNotification failed " + JSON.stringify(err));
console.info("requestEnableNotification ");
});
```
## Notification.show
## Notification.enableDistributed<sup>8+</sup>
show(options?: ShowNotificationOptions): void
enableDistributed(enable: boolean, callback: AsyncCallback\<void\>): void
展示通知事件
设置设备是否支持分布式通知
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------ | ---- | ---------------- |
| options | ShowNotificationOptions | 否 | 需要展示通知的参数 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| enable | boolean | 是 | 是否支持。<br/>true 支持。<br/>false 不支持。|
| callback | AsyncCallback\<void\> | 是 | 设置设备是否支持分布式通知的回调函数。 |
**示例:**
```javascript
var options = {
contentTitle: 'contentTitle',
contentText: 'contentText',
clickAction: {
bundleName: 'bundleName',
abilityName: 'abilityName',
uri: 'uri',
}
function enabledNotificationCallback() {
console.log('----------- enableDistributed ------------');
};
Notification.show(options);
var enable = true
Notification.enableDistributed(enable, enabledNotificationCallback);
```
## NotificationSubscriber
## Notification.enableDistributed<sup>8+</sup>
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
enableDistributed(enable: boolean): Promise<void>
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------------------------------------------------------------ | ---- | --- | -------- | ---- | -------------------------- |
| onConsume?:(data: [SubscribeCallbackData](#subscribecallbackdata)) | 是 | 否 | function | 否 | 接收通知回调函数。 |
| onCancel?:(data: [SubscribeCallbackData](#subscribecallbackdata)) | 是 | 否 | function | 否 | 删除通知回调函数。 |
| onUpdate?:(data: [NotificationSortingMap](#notificationsortingmap)) | 是 | 否 | function | 否 | 更新通知排序回调函数。 |
| onConnect?:() | 是 | 否 | function | 否 | 注册订阅回调函数。 |
| onDisconnect?:() | 是 | 否 | function | 否 | 取消订阅回调函数。 |
| onDestroy?:() | 是 | 否 | function | 否 | 服务失联回调函数。 |
| onDoNotDisturbDateChange?:(mode: Notification.[DoNotDisturbDate](#donotdisturbdate)) | 是 | 否 | function | 否 | 免打扰时间选项变更回调函数。 |
设置设备是否支持分布式通知。
### onEnabledNotificationChanged
**系统能力**:SystemCapability.Notification.Notification
onEnabledNotificationChanged?:(callbackData: [EnabledNotificationCallbackData](#enablednotificationcallbackdata))
**参数:**
监听应用通知使能变化。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| enable | boolean | 是 | 是否支持。<br/>true 支持。<br/>false 不支持。|
**示例:**
```javascript
var enable = true
Notification.enableDistributed(enable)
.then(() => {
console.log('-------- enableDistributed ----------');
});
```
## Notification.isDistributedEnabled<sup>8+</sup>
isDistributedEnabled(callback: AsyncCallback<boolean>): void
获取设备是否支持分布式通知。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------ | ---- | -------------------------- |
| callback | AsyncCallback\<[EnabledNotificationCallbackData](#enablednotificationcallbackdata)\> | 是 | 回调返回监听到的应用信息。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| callback | AsyncCallback\<boolean\> | 是 | 设备是否支持分布式通知的回调函数。 |
**示例:**
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
function onEnabledNotificationChangedCallback(err, callbackData) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("bundle: ", callbackData.bundle);
console.info("uid: ", callbackData.uid);
console.info("enable: ", callbackData.enable);
}
function isDistributedEnabledCallback() {
console.log('----------- isDistributedEnabled ------------');
};
var subscriber = {
onEnabledNotificationChanged: onEnabledNotificationChangedCallback
};
Notification.subscribe(subscriber, subscribeCallback);
Notification.enableDistributed(isDistributedEnabledCallback);
```
## SubscribeCallbackData
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
## Notification.isDistributedEnabled<sup>8+</sup>
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| --------------- | ---- | --- | ------------------------------------------------- | ---- | -------- |
| request | 是 | 否 | [NotificationRequest](#notificationrequest) | 是 | 通知内容。 |
| sortingMap | 是 | 否 | [NotificationSortingMap](#notificationsortingmap) | 否 | 排序信息。 |
| reason | 是 | 否 | number | 否 | 删除原因。 |
| sound | 是 | 否 | string | 否 | 通知声音。 |
| vibrationValues | 是 | 否 | Array\<number\> | 否 | 通知震动。 |
## NotificationSortingMap
isDistributedEnabled(): Promise<boolean>
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | --- | ------------------------------------------------------------ | ---- | ---------------- |
| sortings | 是 | 否 | {[key: string]: [NotificationSorting](#notificationsorting)} | 是 | 通知排序信息数组。 |
| sortedHashCode | 是 | 否 | Array\<string\> | 是 | 通知唯一标识数组。 |
## NotificationSorting
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | --- | ------------------------------------- | ---- | ------------ |
| slot | 是 | 否 | [NotificationSlot](#notificationslot) | 是 | 通知通道内容。 |
| hashCode | 是 | 否 | string | 是 | 通知唯一标识。 |
| ranking | 是 | 否 | number | 是 | 通知排序序号。 |
获取设备是否支持分布式通知。
**系统能力**:SystemCapability.Notification.Notification
**返回值:**
## DoNotDisturbDate
| 类型 | 说明 |
| ------------------ | --------------- |
| Promise\<boolean\> | Promise方式返回设备是否支持分布式通知的结果。<br/>true 支持。<br/>false 不支持。 |
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**示例:**
| 名称 | 可读 | 可写 | 类型 | 描述 |
| ----- | ---- | --- | ------------------------------------- | ------------------------ |
| type | 是 | 否 | [DoNotDisturbType](#donotdisturbtype) | 指定免打扰设置的时间类型。 |
| begin | 是 | 否 | Date | 指定免打扰设置的起点时间。 |
| end | 是 | 否 | Date | 指定免打扰设置的终点时间。 |
```javascript
Notification.isDistributedEnabled()
.then((data) => {
console.log('-------- isDistributedEnabled ----------');
});
```
## Notification.enableDistributedByBundle<sup>8+</sup>
## DoNotDisturbType
enableDistributedByBundle(bundle: BundleOption, enable: boolean, callback: AsyncCallback<void>): void
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
根据应用的包设置应用程序是否支持分布式通知。
**系统能力**:SystemCapability.Notification.Notification
| 名称 | 值 | 说明 |
| ------------ | ---------------- | ------------------------------------------ |
| TYPE_NONE | DoNotDisturbType | 非通知勿扰类型。 |
| TYPE_ONCE | DoNotDisturbType | 以设置时间段(只看小时和分钟)一次执行勿扰。 |
| TYPE_DAILY | DoNotDisturbType | 以设置时间段(只看小时和分钟)每天执行勿扰。 |
| TYPE_CLEARLY | DoNotDisturbType | 以设置时间段(明确年月日时分)执行勿扰。 |
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| bundle | BundleOption | 是 | 应用的包。 |
| enable | boolean | 是 | 是否支持。 |
| callback | AsyncCallback\<void\> | 是 | 应用程序是否支持分布式通知的回调函数。 |
**示例:**
## EnabledNotificationCallbackData
```javascript
function enableDistributedByBundleCallback() {
console.log('----------- enableDistributedByBundle ------------');
};
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
var bundle = {
bundle: "bundleName1",
}
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ------- | ---- | ---------------- |
| bundle | 是 | 否 | string | 否 | 应用的包名。 |
| uid | 是 | 否 | number | 否 | 应用的uid。 |
| enable | 是 | 否 | boolean | 否 | 应用通知使能状态。 |
var enable = true
Notification.enableDistributedByBundle(bundle, enable, enableDistributedByBundleCallback);
```
## NotificationRequest
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
## Notification.enableDistributedByBundle<sup>8+</sup>
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| --------------------- | ---- | --- | --------------------------------------------- | ---- | -------------------------- |
| content | 是 | 是 | [NotificationContent](#notificationcontent) | 是 | 通知内容。 |
| id | 是 | 是 | number | 否 | 通知ID。 |
| slotType | 是 | 是 | [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 | 否 | 是否显示状态栏图标。 |
| label | 是 | 是 | string | 否 | 通知标签。 |
| badgeIconStyle | 是 | 是 | number | 否 | 通知角标类型。 |
| showDeliveryTime | 是 | 是 | boolean | 否 | 是否显示分发时间。 |
| actionButtons | 是 | 是 | Array\<[NotificationActionButton](#notificationactionbutton)\> | 否 | 通知按钮,最多两个按钮。 |
| smallIcon | 是 | 是 | PixelMap | 否 | 通知小图标。 |
| largeIcon | 是 | 是 | PixelMap | 否 | 通知大图标。 |
| creatorBundleName | 是 | 否 | string | 否 | 创建通知的包名。 |
| creatorUid | 是 | 否 | number | 否 | 创建通知的UID。 |
| creatorPid | 是 | 否 | number | 否 | 创建通知的PID。 |
| hashCode | 是 | 否 | string | 否 | 通知唯一标识。 |
| classification | 是 | 是 | string | 否 | 通知分类。 |
| groupName | 是 | 是 | string | 否 | 组通知名称。 |
| template<sup>8+</sup> | 是 | 是 | [NotificationTemplate](#notificationtemplate) | 否 | 通知模板。 |
根据bundleenableDistributedByBundle(bundle: BundleOption, enable: boolean): Promise<void>
根据应用的包设置应用程序是否支持分布式通知。
**系统能力**:SystemCapability.Notification.Notification
## NotificationSlot
**参数:**
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| bundle | BundleOption | 是 | 应用的包。 |
| enable | boolean | 是 | 是否支持。 |
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------------- | ---- | --- | --------------------- | ---- | ------------------------------------------ |
| type | 是 | 是 | [SlotType](#slottype) | 是 | 通道类型。 |
| level | 是 | 是 | number | 否 | 通知级别,不设置则根据通知渠道类型有默认值。 |
| desc | 是 | 是 | string | 否 | 通知渠道描述信息。 |
| badgeFlag | 是 | 是 | boolean | 否 | 是否显示角标。 |
| bypassDnd | 是 | 是 | boolean | 否 | 置是否在系统中绕过免打扰模式。 |
| lockscreenVisibility | 是 | 是 | boolean | 否 | 在锁定屏幕上显示通知的模式。 |
| vibrationEnabled | 是 | 是 | boolean | 否 | 是否可振动。 |
| sound | 是 | 是 | string | 否 | 通知提示音。 |
| lightEnabled | 是 | 是 | boolean | 否 | 是否闪灯。 |
| lightColor | 是 | 是 | number | 否 | 通知灯颜色。 |
| vibrationValues | 是 | 是 | Array\<number\> | 否 | 通知振动样式。 |
**示例:**
## NotificationContent
```javascript
var bundle = {
bundle: "bundleName1",
}
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
var enable = true
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | ---- | --- | ------------------------------------------------------------ | ---- | ------------------ |
| contentType | 是 | 是 | [ContentType](#contenttype) | 是 | 通知内容类型。 |
| normal | 是 | 是 | [NotificationBasicContent](#notificationbasiccontent) | 否 | 基本类型通知内容。 |
| longText | 是 | 是 | [NotificationLongTextContent](#notificationlongtextcontent) | 否 | 长文本类型通知内容。 |
| multiLine | 是 | 是 | [NotificationMultiLineContent](#notificationmultilinecontent) | 否 | 多行类型通知内容。 |
| picture | 是 | 是 | [NotificationPictureContent](#notificationpicturecontent) | 否 | 图片类型通知内容。 |
Notification.enableDistributedByBundle(bundle, enable)
.then(() => {
console.log('-------- enableDistributedByBundle ----------');
});
```
## Notification.isDistributedEnabledByBundle<sup>8+</sup>
isDistributedEnabledByBundle(bundle: BundleOption, callback: AsyncCallback<boolean>): void
## ContentType
根据应用的包获取应用程序是否支持分布式通知。
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**系统能力**SystemCapability.Notification.Notification
| 名称 | 值 | 说明 |
| --------------------------------- | ----------- | ------------------ |
| NOTIFICATION_CONTENT_BASIC_TEXT | ContentType | 普通类型通知。 |
| NOTIFICATION_CONTENT_LONG_TEXT | ContentType | 长文本类型通知。 |
| NOTIFICATION_CONTENT_PICTURE | ContentType | 图片类型通知。 |
| NOTIFICATION_CONTENT_CONVERSATION | ContentType | 社交类型通知。 |
| NOTIFICATION_CONTENT_MULTILINE | ContentType | 多行文本类型通知。 |
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| bundle | BundleOption | 是 | 应用的包。 |
| callback | AsyncCallback\<boolean\> | 是 | 应用程序是否支持分布式通知的回调函数。 |
**示例:**
## NotificationBasicContent
```javascript
function isDistributedEnabledByBundleCallback(data) {
console.log('----------- isDistributedEnabledByBundle ------------', data);
};
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
var bundle = {
bundle: "bundleName1",
}
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | ---- | ------ | ---- | ---------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
Notification.enableDistributedByBundle(bundle, isDistributedEnabledByBundleCallback);
```
## NotificationLongTextContent
## Notification.isDistributedEnabledByBundle<sup>8+</sup>
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
isDistributedEnabledByBundle(bundle: BundleOption): Promise<boolean>
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | --- | ------ | ---- | -------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
| longText | 是 | 是 | string | 是 | 通知的长文本。 |
| briefText | 是 | 是 | string | 是 | 通知概要内容,是对通知内容的总结。 |
| expandedTitle | 是 | 是 | string | 是 | 通知展开时的标题。 |
根据应用的包获取应用程序是否支持分布式通知。
**系统能力**:SystemCapability.Notification.Notification
**参数:**
## NotificationMultiLineContent
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------- |
| bundle | BundleOption | 是 | 应用的包。 |
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**返回值:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | --- | --------------- | ---- | -------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
| briefText | 是 | 是 | string | 是 | 通知概要内容,是对通知内容的总结。 |
| longTitle | 是 | 是 | string | 是 | 通知展开时的标题。 |
| lines | 是 | 是 | Array\<String\> | 是 | 通知的多行文本。 |
| 类型 | 说明 |
| ------------------ | --------------- |
| Promise\<boolean\> | Promise方式返回应用程序是否支持分布式通知的结果。<br/>true 支持。<br/>false 不支持。 |
**示例:**
```javascript
var bundle = {
bundle: "bundleName1",
}
## NotificationPictureContent
Notification.isDistributedEnabledByBundle(bundle)
.then((data) => {
console.log('-------- isDistributedEnabledByBundle ----------', data);
});
```
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | --- | -------------- | ---- | -------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
| briefText | 是 | 是 | string | 是 | 通知概要内容,是对通知内容的总结。 |
| expandedTitle | 是 | 是 | string | 是 | 通知展开时的标题。 |
| picture | 是 | 是 | image.PixelMap | 是 | 通知的图片内容。 |
## Notification.getDeviceRemindType<sup>8+</sup>
getDeviceRemindType(callback: AsyncCallback<DeviceRemindType>): void
获取通知的提醒方式。
## BundleOption
**系统能力**:SystemCapability.Notification.Notification
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ------ | ---- | ------ |
| bundle | 是 | 是 | string | 是 | 包名。 |
| uid | 是 | 是 | number | 否 | 用户id。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | -------------------------- |
| callback | AsyncCallback\<DeviceRemindType\> | 是 | 获取通知的提醒方式的回调函数。 |
**示例:**
```javascript
function getDeviceRemindTypeCallback(data) {
console.log('----------- getDeviceRemindType ------------', data);
};
## NotificationKey
Notification.getDeviceRemindType(getDeviceRemindTypeCallback);
```
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | ---- | --- | ------ | ---- | -------- |
| id | 是 | 是 | number | 是 | 通知ID。 |
| label | 是 | 是 | string | 否 | 通知标签。< |
## Notification.getDeviceRemindType<sup>8+</sup>
getDeviceRemindType(): Promise<DeviceRemindType>
## SlotType
获取通知的提醒方式。
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**系统能力**SystemCapability.Notification.Notification
| 名称 | 值 | 说明 |
| -------------------- | -------- | ---------- |
| SOCIAL_COMMUNICATION | SlotType | 社交类型。 |
| SERVICE_INFORMATION | SlotType | 服务类型。 |
| CONTENT_INFORMATION | SlotType | 内容类型。 |
| OTHER_TYPES | SlotType | 其他类型。 |
**返回值:**
| 类型 | 说明 |
| ------------------ | --------------- |
| Promise\<DeviceRemindType\> | Promise方式返回通知的提醒方式的结果。 |
**示例:**
## NotificationActionButton
```javascript
Notification.getDeviceRemindType()
.then((data) => {
console.log('-------- getDeviceRemindType ----------', data);
});
```
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
## Notification.show
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| --------- | --- | ---- | ----------------------------------------------- | ---- | ------------------------- |
| title | 是 | 是 | string | 是 | 按钮标题。 |
| wantAgent | 是 | 是 | WantAgent | 是 | 点击按钮时触发的WantAgent。 |
| extras | 是 | 是 | Array\<String\> | 否 | 按钮扩展信息。 |
| icon | 是 | 是 | image.PixelMap | 否 | 按钮图标。 |
| userInput | 是 | 是 | [NotificationUserInput](#notificationuserinput) | 否 | 用户输入对象实例。 |
show(options?: ShowNotificationOptions): void
展示通知事件。
**系统能力**:SystemCapability.Notification.Notification
## NotificationUserInput
**参数:**
**系统能力:**SystemCapability.Notification.Notification
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------ | ---- | ---------------- |
| options | ShowNotificationOptions | 否 | 需要展示通知的参数 |
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ------ | ---- | ----------------------------- |
| inputKey | 是 | 是 | string | 是 | 用户输入时用于标识此输入的key。 |
**示例:**
```javascript
var options = {
contentTitle: 'contentTitle',
contentText: 'contentText',
clickAction: {
bundleName: 'bundleName',
abilityName: 'abilityName',
uri: 'uri',
}
};
Notification.show(options);
```
## NotificationSubscribeInfo
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | --- | ---- | --------------- | ---- | ------------------------------- |
| bundleNames | 是 | 是 | Array\<string\> | 否 | 指定订阅哪些包名的APP发来的通知。 |
| userId | 是 | 是 | number | 否 | 指定订阅哪个用户下发来的通知。 |
## NotificationSubscriber
### onConsume
onConsume?:(data: [SubscribeCallbackData](#subscribecallbackdata))
接收通知回调函数。
## NotificationTemplate
**系统能力**:SystemCapability.Notification.Notification
模板信息
**参数:**
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------ | ---- | -------------------------- |
| data | AsyncCallback\<[SubscribeCallbackData](#subscribecallbackdata)\> | 是 | 回调返回接收到的通知信息。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---- | ---------------------- | ---- | ---- | ---------- |
| name | string | 是 | 是 | 模板名称。 |
| data | {[key:string]: Object} | 是 | 是 | 模板数据。 |
**示例:**
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
function onConsumeCallback(data) {
console.info('===> onConsume in test');
let req = data.request;
console.info('===> onConsume callback req.id:' + req.id);
let wantAgent = data.wantAgent;
wantAgent .getWant(wantAgent)
.then((data1) => {
console.log('===> getWant success want:' + JSON.stringfy(data1));
})
.catch((err) => {
console.error('===> getWant failed because' + JSON.stringfy(err));
});
console.info('===> onConsume callback req.wantAgent:' + JSON.stringfy(req.wantAgent));
};
## ActionResult
var subscriber = {
onConsume: onConsumeCallback
};
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
Notification.subscribe(subscriber, subscribeCallback);
```
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------------ | ---------- | ---- | ---- | -------- |
| bundleName | string | 是 | 是 | 点击通知后重定向应用的包名。 |
| abilityName | string | 是 | 是 | 点击通知后重定向应用的的Ability名称。 |
| uri | string | 是 | 是 | 要重定向到的页面的Uri。 |
### onCancel
onCancel?:(data: [SubscribeCallbackData](#subscribecallbackdata))
删除通知回调函数。
## ShowNotificationOptions
**系统能力**:SystemCapability.Notification.Notification
**系统能力:**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**参数:**
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------------ | ---------- | ---- | ---- | -------- |
| contentTitle | string | 是 | 是 | 通知的标题。 |
| contentText | string | 是 | 是 | 通知的内容。 |
| clickAction | ActionResult | 是 | 是 | 点击通知后触发的动作。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------ | ---- | -------------------------- |
| data | AsyncCallback\<[SubscribeCallbackData](#subscribecallbackdata)\> | 是 | 回调返回接收到的通知信息。 |
**示例:**
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
## WantAgent接口
function onCancelCallback(data) {
console.info('===> onCancel in test');
let req = data.request;
console.info('===> onCancel callback req.id:' + req.id);
}
## 导入模块
var subscriber = {
onCancel: onCancelCallback
};
```js
import WantAgent from '@ohos.wantAgent';
Notification.subscribe(subscriber, subscribeCallback);
```
### onUpdate
onUpdate?:(data: [NotificationSortingMap](#notificationsortingmap))
## WantAgent.getWantAgent
getWantAgent(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>): void
更新通知排序回调函数。
创建WantAgent(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | -------------------------- | ---- | ----------------------- |
| info | 是 | 否 | WantAgentInfo | 是 | WantAgent信息。 |
| callback | 是 | 否 | AsyncCallback\<WantAgent\> | 是 | 创建WantAgent的回调方法。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------ | ---- | -------------------------- |
| data | [NotificationSortingMap](#notificationsortingmap) | 是 | |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
function onUpdateCallback() {
console.info('===> onUpdate in test');
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
```
var subscriber = {
onUpdate: onUpdateCallback
};
## WantAgent.getWantAgent
Notification.subscribe(subscriber, subscribeCallback);
```
getWantAgent(info: WantAgentInfo): Promise\<WantAgent\>
### onConnect
创建WantAgent(Promise形式)。
onConnect?:void
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
注册订阅回调函数。
**参数:**
**系统能力**:SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---- | --- | ---- | ------------- | ---- | ------------- |
| info | 是 | 否 | WantAgentInfo | 是 | WantAgent信息。 |
**示例:**
**返回值:**
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<WantAgent\> | 以Promise形式返回WantAgent。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
function onConnectCallback() {
console.info('===> onConnect in test');
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
});
```
## WantAgent.getBundleName
var subscriber = {
onConnect: onConnectCallback
};
getBundleName(agent: WantAgent, callback: AsyncCallback\<string\>): void
Notification.subscribe(subscriber, subscribeCallback);
```
获取WantAgent实例的包名(callback形式)。
### onDisconnect
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
onDisconnect?:void
**参数:**
取消订阅回调函数。
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ----------------------- | ---- | --------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<string\> | 是 | 获取WantAgent实例的包名的回调方法。 |
**系统能力**:SystemCapability.Notification.Notification
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info('----getWantAgent failed!----');
console.info("subscribeCallback");
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
};
//getBundleName回调
function getBundleNameCallback(err, data) {
console.info("==========================>getBundleNameCallback=======================>");
function onDisconnectCallback() {
console.info('===> onDisconnect in test');
}
WantAgent.getBundleName(wantAgent, getBundleNameCallback)
```
var subscriber = {
onDisconnect: onDisconnectCallback
};
## WantAgent.getBundleName
Notification.subscribe(subscriber, subscribeCallback);
```
getBundleName(agent: WantAgent): Promise\<string\>
### onDestroy
获取WantAgent实例的包名(Promise形式)。
onDestroy?:void
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
服务失联回调函数。
**参数:**
**系统能力**:SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**示例:**
**返回值:**
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取WantAgent实例的包名。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
function onDestroyCallback() {
console.info('===> onDestroy in test');
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
var subscriber = {
onDestroy: onDestroyCallback
};
WantAgent.getBundleName(wantAgent).then((data) => {
console.info("==========================>getBundleNameCallback=======================>");
});
Notification.subscribe(subscriber, subscribeCallback);
```
### onDoNotDisturbDateChange
onDoNotDisturbDateChange?:(mode: Notification.[DoNotDisturbDate](#donotdisturbdate))
## WantAgent.getUid
免打扰时间选项变更回调函数。
getUid(agent: WantAgent, callback: AsyncCallback\<number\>): void
获取WantAgent实例的用户ID(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ----------------------- | ---- | ----------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<number\> | 是 | 获取WantAgent实例的用户ID的回调方法。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------ | ---- | -------------------------- |
| mode | Notification.[DoNotDisturbDate](#donotdisturbdate) | 是 | 回调返回免打扰时间选项变更。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info('----getWantAgent failed!----');
console.info("subscribeCallback");
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
};
function onDoNotDisturbDateChangeCallback() {
console.info('===> onDoNotDisturbDateChange in test');
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
var subscriber = {
onDoNotDisturbDateChange: onDoNotDisturbDateChangeCallback
};
//getUid回调
function getUidCallback(err, data) {
console.info("==========================>getUidCallback=======================>");
}
WantAgent.getUid(wantAgent, getUidCallback)
Notification.subscribe(subscriber, subscribeCallback);
```
### onEnabledNotificationChanged
## WantAgent.getUid
getUid(agent: WantAgent): Promise\<number\>
onEnabledNotificationChanged?:(callbackData: [EnabledNotificationCallbackData](#enablednotificationcallbackdata))
获取WantAgent实例的用户ID(Promise形式)
监听应用通知使能变化
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**:SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------ | ---- | -------------------------- |
| callback | AsyncCallback\<[EnabledNotificationCallbackData](#enablednotificationcallbackdata)\> | 是 | 回调返回监听到的应用信息。 |
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取WantAgent实例的用户ID。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
**示例:**
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
```javascript
function subscribeCallback(err) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("subscribeCallback");
}
};
WantAgent.getUid(wantAgent).then((data) => {
console.info("==========================>getUidCallback=======================>");
});
```
function onEnabledNotificationChangedCallback(err, callbackData) {
if (err.code) {
console.info("subscribe failed " + JSON.stringify(err));
} else {
console.info("bundle: ", callbackData.bundle);
console.info("uid: ", callbackData.uid);
console.info("enable: ", callbackData.enable);
}
};
var subscriber = {
onEnabledNotificationChanged: onEnabledNotificationChangedCallback
};
Notification.subscribe(subscriber, subscribeCallback);
```
## WantAgent.getWant
getWant(agent: WantAgent, callback: AsyncCallback\<Want\>): void
获取WantAgent对象的want(callback形式)。
## SubscribeCallbackData
**系统能力**SystemCapability.Ability.AbilityRuntime.Core
**系统能力**以下各项对应的系统能力均为SystemCapability.Notification.Notification
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| --------------- | ---- | --- | ------------------------------------------------- | ---- | -------- |
| request | 是 | 否 | [NotificationRequest](#notificationrequest) | 是 | 通知内容。 |
| sortingMap | 是 | 否 | [NotificationSortingMap](#notificationsortingmap) | 否 | 排序信息。 |
| reason | 是 | 否 | number | 否 | 删除原因。 |
| sound | 是 | 否 | string | 否 | 通知声音。 |
| vibrationValues | 是 | 否 | Array\<number\> | 否 | 通知震动。 |
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | --------------------- | ---- | ------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<Want\> | 是 | 获取WantAgent对象want的回调方法。 |
## NotificationSortingMap
**示例:**
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | --- | ------------------------------------------------------------ | ---- | ---------------- |
| sortings | 是 | 否 | {[key: string]: [NotificationSorting](#notificationsorting)} | 是 | 通知排序信息数组。 |
| sortedHashCode | 是 | 否 | Array\<string\> | 是 | 通知唯一标识数组。 |
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
## NotificationSorting
//getWant回调
function getWantCallback(err, data) {
console.info("==========================>getWantCallback=======================>");
}
WantAgent.getWant(wantAgent, getWantCallback)
```
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | ---- | --- | ------------------------------------- | ---- | ------------ |
| slot | 是 | 否 | [NotificationSlot](#notificationslot) | 是 | 通知通道内容。 |
| hashCode | 是 | 否 | string | 是 | 通知唯一标识。 |
| ranking | 是 | 否 | number | 是 | 通知排序序号。 |
## WantAgent.getWant
getWant(agent: WantAgent): Promise\<Want\>
## DoNotDisturbDate
获取WantAgent对象的want(Promise形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 描述 |
| ----- | ---- | --- | ------------------------------------- | ------------------------ |
| type | 是 | 否 | [DoNotDisturbType](#donotdisturbtype) | 指定免打扰设置的时间类型。 |
| begin | 是 | 否 | Date | 指定免打扰设置的起点时间。 |
| end | 是 | 否 | Date | 指定免打扰设置的终点时间。 |
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
## DoNotDisturbType<sup>8+</sup>
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<Want\> | 以Promise形式返回获取WantAgent对象的want。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getWant(wantAgent).then((data) => {
console.info("==========================>getWantCallback=======================>");
});
```
| 名称 | 值 | 说明 |
| ------------ | ---------------- | ------------------------------------------ |
| TYPE_NONE | DoNotDisturbType | 非通知勿扰类型。 |
| TYPE_ONCE | DoNotDisturbType | 以设置时间段(只看小时和分钟)一次执行勿扰。 |
| TYPE_DAILY | DoNotDisturbType | 以设置时间段(只看小时和分钟)每天执行勿扰。 |
| TYPE_CLEARLY | DoNotDisturbType | 以设置时间段(明确年月日时分)执行勿扰。 |
## WantAgent.cancel
## EnabledNotificationCallbackData
cancel(agent: WantAgent, callback: AsyncCallback\<void\>): void
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
取消WantAgent实例(callback形式)。
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ------- | ---- | ---------------- |
| bundle | 是 | 否 | string | 否 | 应用的包名。 |
| uid | 是 | 否 | number | 否 | 应用的uid。 |
| enable | 是 | 否 | boolean | 否 | 应用通知使能状态。 |
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | --------------------- | ---- | --------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<void\> | 是 | 取消WantAgent实例的回调方法。 |
## NotificationRequest
**示例:**
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| --------------------- | ---- | --- | --------------------------------------------- | ---- | -------------------------- |
| content | 是 | 是 | [NotificationContent](#notificationcontent) | 是 | 通知内容。 |
| id | 是 | 是 | number | 否 | 通知ID。 |
| slotType | 是 | 是 | [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 | 否 | 是否显示状态栏图标。 |
| label | 是 | 是 | string | 否 | 通知标签。 |
| badgeIconStyle | 是 | 是 | number | 否 | 通知角标类型。 |
| showDeliveryTime | 是 | 是 | boolean | 否 | 是否显示分发时间。 |
| actionButtons | 是 | 是 | Array\<[NotificationActionButton](#notificationactionbutton)\> | 否 | 通知按钮,最多两个按钮。 |
| smallIcon | 是 | 是 | PixelMap | 否 | 通知小图标。 |
| largeIcon | 是 | 是 | PixelMap | 否 | 通知大图标。 |
| creatorBundleName | 是 | 否 | string | 否 | 创建通知的包名。 |
| creatorUid | 是 | 否 | number | 否 | 创建通知的UID。 |
| creatorPid | 是 | 否 | number | 否 | 创建通知的PID。 |
| hashCode | 是 | 否 | string | 否 | 通知唯一标识。 |
| classification | 是 | 是 | string | 否 | 通知分类。 |
| groupName | 是 | 是 | string | 否 | 组通知名称。 |
| template<sup>8+</sup> | 是 | 是 | [NotificationTemplate](#notificationtemplate) | 否 | 通知模板。 |
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
## NotificationSlot
//cancel回调
function cancelCallback(err, data) {
console.info("==========================>cancelCallback=======================>");
}
WantAgent.cancel(wantAgent, cancelCallback)
```
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------------- | ---- | --- | --------------------- | ---- | ------------------------------------------ |
| type | 是 | 是 | [SlotType](#slottype) | 是 | 通道类型。 |
| level | 是 | 是 | number | 否 | 通知级别,不设置则根据通知渠道类型有默认值。 |
| desc | 是 | 是 | string | 否 | 通知渠道描述信息。 |
| badgeFlag | 是 | 是 | boolean | 否 | 是否显示角标。 |
| bypassDnd | 是 | 是 | boolean | 否 | 置是否在系统中绕过免打扰模式。 |
| lockscreenVisibility | 是 | 是 | boolean | 否 | 在锁定屏幕上显示通知的模式。 |
| vibrationEnabled | 是 | 是 | boolean | 否 | 是否可振动。 |
| sound | 是 | 是 | string | 否 | 通知提示音。 |
| lightEnabled | 是 | 是 | boolean | 否 | 是否闪灯。 |
| lightColor | 是 | 是 | number | 否 | 通知灯颜色。 |
| vibrationValues | 是 | 是 | Array\<number\> | 否 | 通知振动样式。 |
## NotificationContent
## WantAgent.cancel
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
cancel(agent: WantAgent): Promise\<void\>
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | ---- | --- | ------------------------------------------------------------ | ---- | ------------------ |
| contentType | 是 | 是 | [ContentType](#contenttype) | 是 | 通知内容类型。 |
| normal | 是 | 是 | [NotificationBasicContent](#notificationbasiccontent) | 否 | 基本类型通知内容。 |
| longText | 是 | 是 | [NotificationLongTextContent](#notificationlongtextcontent) | 否 | 长文本类型通知内容。 |
| multiLine | 是 | 是 | [NotificationMultiLineContent](#notificationmultilinecontent) | 否 | 多行类型通知内容。 |
| picture | 是 | 是 | [NotificationPictureContent](#notificationpicturecontent) | 否 | 图片类型通知内容。 |
取消WantAgent实例(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
## ContentType
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
**示例:**
| 名称 | 值 | 说明 |
| --------------------------------- | ----------- | ------------------ |
| NOTIFICATION_CONTENT_BASIC_TEXT | ContentType | 普通类型通知。 |
| NOTIFICATION_CONTENT_LONG_TEXT | ContentType | 长文本类型通知。 |
| NOTIFICATION_CONTENT_PICTURE | ContentType | 图片类型通知。 |
| NOTIFICATION_CONTENT_CONVERSATION | ContentType | 社交类型通知。 |
| NOTIFICATION_CONTENT_MULTILINE | ContentType | 多行文本类型通知。 |
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
## NotificationBasicContent
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
WantAgent.cancel(wantAgent).then((data) => {
console.info("==========================>cancelCallback=======================>");
});
```
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | ---- | ------ | ---- | ---------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
## WantAgent.trigger
## NotificationLongTextContent
trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>): void
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
主动激发WantAgent实例(callback形式)。
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | --- | ------ | ---- | -------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
| longText | 是 | 是 | string | 是 | 通知的长文本。 |
| briefText | 是 | 是 | string | 是 | 通知概要内容,是对通知内容的总结。 |
| expandedTitle | 是 | 是 | string | 是 | 通知展开时的标题。 |
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | --- | ---- | ----------------------------- | ---- | ------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| triggerInfo | 是 | 否 | TriggerInfo | 是 | TriggerInfo对象。 |
| callback | 是 | 否 | AsyncCallback\<CompleteData\> | 是 | 主动激发WantAgent实例的回调方法。 |
## NotificationMultiLineContent
**示例:**
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | --- | --------------- | ---- | -------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
| briefText | 是 | 是 | string | 是 | 通知概要内容,是对通知内容的总结。 |
| longTitle | 是 | 是 | string | 是 | 通知展开时的标题。 |
| lines | 是 | 是 | Array\<String\> | 是 | 通知的多行文本。 |
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
## NotificationPictureContent
//trigger回调
function triggerCallback(err, data) {
console.info("==========================>triggerCallback=======================>");
}
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
var triggerInfo = {
code:0
}
WantAgent.trigger(wantAgent, triggerInfo, triggerCallback)
```
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | ---- | --- | -------------- | ---- | -------------------------------- |
| title | 是 | 是 | string | 是 | 通知标题。 |
| text | 是 | 是 | string | 是 | 通知内容。 |
| additionalText | 是 | 是 | string | 是 | 通知次要内容,是对通知内容的补充。 |
| briefText | 是 | 是 | string | 是 | 通知概要内容,是对通知内容的总结。 |
| expandedTitle | 是 | 是 | string | 是 | 通知展开时的标题。 |
| picture | 是 | 是 | image.PixelMap | 是 | 通知的图片内容。 |
## WantAgent.equal
## BundleOption
equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\<boolean\>): void
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
判断两个WantAgent实例是否相等(callback形式)。
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ------ | ---- | --- | ------ | ---- | ------ |
| bundle | 是 | 是 | string | 是 | 包名。 |
| uid | 是 | 是 | number | 否 | 用户id。 |
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | ------------------------ | ---- | --------------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| otherAgent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<boolean\> | 是 | 判断两个WantAgent实例是否相等的回调方法。 |
## NotificationKey
**示例:**
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | ---- | --- | ------ | ---- | -------- |
| id | 是 | 是 | number | 是 | 通知ID。 |
| label | 是 | 是 | string | 否 | 通知标签。< |
//wantAgent对象
var wantAgent1;
var wantAgent2;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent1 = data;
wantAgent2 = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
## SlotType
//equal回调
function equalCallback(err, data) {
console.info("==========================>equalCallback=======================>");
}
WantAgent.equal(wantAgent1, wantAgent2, equalCallback)
```
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 值 | 说明 |
| -------------------- | -------- | ---------- |
| UNKNOWN_TYPE | SlotType | 未知类型。 |
| SOCIAL_COMMUNICATION | SlotType | 社交类型。 |
| SERVICE_INFORMATION | SlotType | 服务类型。 |
| CONTENT_INFORMATION | SlotType | 内容类型。 |
| OTHER_TYPES | SlotType | 其他类型。 |
## WantAgent.equal
equal(agent: WantAgent, otherAgent: WantAgent): Promise\<boolean\>
## NotificationActionButton
判断两个WantAgent实例是否相等(Promise形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| --------- | --- | ---- | ----------------------------------------------- | ---- | ------------------------- |
| title | 是 | 是 | string | 是 | 按钮标题。 |
| wantAgent | 是 | 是 | WantAgent | 是 | 点击按钮时触发的WantAgent。 |
| extras | 是 | 是 | Array\<String\> | 否 | 按钮扩展信息。 |
| userInput | 是 | 是 | [NotificationUserInput](#notificationuserinput) | 否 | 用户输入对象实例。 |
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| otherAgent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
## NotificationUserInput
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回获取判断两个WantAgent实例是否相等的结果。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent1;
var wantAgent2;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
**系统能力**:SystemCapability.Notification.Notification
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent1 = data;
wantAgent2 = data;
});
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ------ | ---- | ----------------------------- |
| inputKey | 是 | 是 | string | 是 | 用户输入时用于标识此输入的key。 |
WantAgent.equal(wantAgent1, wantAgent2).then((data) => {
console.info("==========================>equalCallback=======================>");
});
```
## NotificationSubscribeInfo
## WantAgentInfo
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
**系统能力:**以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | --- | ---- | --------------- | ---- | ------------------------------- |
| bundleNames | 是 | 是 | Array\<string\> | 否 | 指定订阅哪些包名的APP发来的通知。 |
| userId | 是 | 是 | number | 否 | 指定订阅哪个用户下发来的通知。 |
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | ---- | ------------------------------- | ---- | ---------------------- |
| wants | 是 | 是 | Array\<Want\> | 是 | 将被执行的动作列表。 |
| operationType | 是 | 是 | wantAgent.OperationType | 是 | 动作类型。 |
| requestCode | 是 | 是 | number | 是 | 使用者定义的一个私有值。 |
| wantAgentFlags | 是 | 是 | Array<wantAgent.WantAgentFlags> | 否 | 动作执行属性。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
## NotificationTemplate
## WantAgentFlags
模板信息
**系统能力:**以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 值 | 说明 |
| ------------------- | -------------- | ------------------------------------------------------------ |
| ONE_TIME_FLAG | WantAgentFlags | WantAgent仅能使用一次。 |
| NO_BUILD_FLAG | WantAgentFlags | 如果描述WantAgent对象不存在,则不创建它,直接返回null。 |
| CANCEL_PRESENT_FLAG | WantAgentFlags | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象。 |
| UPDATE_PRESENT_FLAG | WantAgentFlags | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据。 |
| CONSTANT_FLAG | WantAgentFlags | WantAgent是不可变的。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---- | ---------------------- | ---- | ---- | ---------- |
| name | string | 是 | 是 | 模板名称。 |
| data | {[key:string]: Object} | 是 | 是 | 模板数据。 |
## OperationType
## ActionResult
**系统能力:**以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 值 | 说明 |
| ----------------- | ------------- | ------------------------- |
| UNKNOWN_TYPE | OperationType | 不识别的类型。 |
| START_ABILITY | OperationType | 开启一个有页面的Ability。 |
| START_ABILITIES | OperationType | 开启多个有页面的Ability。 |
| START_SERVICE | OperationType | 开启一个无页面的ability。 |
| SEND_COMMON_EVENT | OperationType | 发送一个公共事件。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------------ | ---------- | ---- | ---- | -------- |
| bundleName | string | 是 | 是 | 点击通知后重定向应用的包名。 |
| abilityName | string | 是 | 是 | 点击通知后重定向应用的的Ability名称。 |
| uri | string | 是 | 是 | 要重定向到的页面的Uri。 |
## TriggerInfo
## ShowNotificationOptions
**系统能力:**以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统能力**:以下各项对应的系统能力均为SystemCapability.Notification.Notification
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | -------------------- | ---- | ----------- |
| code | 是 | 是 | number | 是 | result code。 |
| want | 是 | 是 | Want | 否 | Want。 |
| permission | 是 | 是 | string | 否 | 权限定义。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------------ | ---------- | ---- | ---- | -------- |
| contentTitle | string | 是 | 是 | 通知的标题。 |
| contentText | string | 是 | 是 | 通知的内容。 |
| clickAction | ActionResult | 是 | 是 | 点击通知后触发的动作。 |
# WantAgent模块
>**说明:**
>
>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import WantAgent from '@ohos.wantAgent';
```
## WantAgent.getWantAgent
getWantAgent(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>): void
创建WantAgent(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | -------------------------- | ---- | ----------------------- |
| info | 是 | 否 | WantAgentInfo | 是 | WantAgent信息。 |
| callback | 是 | 否 | AsyncCallback\<WantAgent\> | 是 | 创建WantAgent的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
```
## WantAgent.getWantAgent
getWantAgent(info: WantAgentInfo): Promise\<WantAgent\>
创建WantAgent(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---- | --- | ---- | ------------- | ---- | ------------- |
| info | 是 | 否 | WantAgentInfo | 是 | WantAgent信息。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<WantAgent\> | 以Promise形式返回WantAgent。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
});
```
## WantAgent.getBundleName
getBundleName(agent: WantAgent, callback: AsyncCallback\<string\>): void
获取WantAgent实例的包名(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ----------------------- | ---- | --------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<string\> | 是 | 获取WantAgent实例的包名的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//getBundleName回调
function getBundleNameCallback(err, data) {
console.info("==========================>getBundleNameCallback=======================>");
}
WantAgent.getBundleName(wantAgent, getBundleNameCallback)
```
## WantAgent.getBundleName
getBundleName(agent: WantAgent): Promise\<string\>
获取WantAgent实例的包名(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取WantAgent实例的包名。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getBundleName(wantAgent).then((data) => {
console.info("==========================>getBundleNameCallback=======================>");
});
```
## WantAgent.getUid
getUid(agent: WantAgent, callback: AsyncCallback\<number\>): void
获取WantAgent实例的用户ID(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ----------------------- | ---- | ----------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<number\> | 是 | 获取WantAgent实例的用户ID的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//getUid回调
function getUidCallback(err, data) {
console.info("==========================>getUidCallback=======================>");
}
WantAgent.getUid(wantAgent, getUidCallback)
```
## WantAgent.getUid
getUid(agent: WantAgent): Promise\<number\>
获取WantAgent实例的用户ID(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取WantAgent实例的用户ID。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getUid(wantAgent).then((data) => {
console.info("==========================>getUidCallback=======================>");
});
```
## WantAgent.getWant
getWant(agent: WantAgent, callback: AsyncCallback\<Want\>): void
获取WantAgent对象的want(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | --------------------- | ---- | ------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<Want\> | 是 | 获取WantAgent对象want的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//getWant回调
function getWantCallback(err, data) {
console.info("==========================>getWantCallback=======================>");
}
WantAgent.getWant(wantAgent, getWantCallback)
```
## WantAgent.getWant
getWant(agent: WantAgent): Promise\<Want\>
获取WantAgent对象的want(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<Want\> | 以Promise形式返回获取WantAgent对象的want。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getWant(wantAgent).then((data) => {
console.info("==========================>getWantCallback=======================>");
});
```
## WantAgent.cancel
cancel(agent: WantAgent, callback: AsyncCallback\<void\>): void
取消WantAgent实例(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | --------------------- | ---- | --------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<void\> | 是 | 取消WantAgent实例的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//cancel回调
function cancelCallback(err, data) {
console.info("==========================>cancelCallback=======================>");
}
WantAgent.cancel(wantAgent, cancelCallback)
```
## WantAgent.cancel
cancel(agent: WantAgent): Promise\<void\>
取消WantAgent实例(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.cancel(wantAgent).then((data) => {
console.info("==========================>cancelCallback=======================>");
});
```
## WantAgent.trigger
trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>): void
主动激发WantAgent实例(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | --- | ---- | ----------------------------- | ---- | ------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| triggerInfo | 是 | 否 | TriggerInfo | 是 | TriggerInfo对象。 |
| callback | 是 | 否 | AsyncCallback\<CompleteData\> | 是 | 主动激发WantAgent实例的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//trigger回调
function triggerCallback(err, data) {
console.info("==========================>triggerCallback=======================>");
}
var triggerInfo = {
code:0
}
WantAgent.trigger(wantAgent, triggerInfo, triggerCallback)
```
## WantAgent.equal
equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\<boolean\>): void
判断两个WantAgent实例是否相等(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | ------------------------ | ---- | --------------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| otherAgent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<boolean\> | 是 | 判断两个WantAgent实例是否相等的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent1;
var wantAgent2;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent1 = data;
wantAgent2 = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//equal回调
function equalCallback(err, data) {
console.info("==========================>equalCallback=======================>");
}
WantAgent.equal(wantAgent1, wantAgent2, equalCallback)
```
## WantAgent.equal
equal(agent: WantAgent, otherAgent: WantAgent): Promise\<boolean\>
判断两个WantAgent实例是否相等(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| otherAgent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回获取判断两个WantAgent实例是否相等的结果。 |
**示例:**
```js
import WantAgent from '@ohos.wantAgent';
import { OperationType, WantAgentFlags } from '@ohos.wantagent';
//wantAgent对象
var wantAgent1;
var wantAgent2;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG]
}
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent1 = data;
wantAgent2 = data;
});
WantAgent.equal(wantAgent1, wantAgent2).then((data) => {
console.info("==========================>equalCallback=======================>");
});
```
## WantAgentInfo
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | ---- | ------------------------------- | ---- | ---------------------- |
| wants | 是 | 是 | Array\<Want\> | 是 | 将被执行的动作列表。 |
| operationType | 是 | 是 | wantAgent.OperationType | 是 | 动作类型。 |
| requestCode | 是 | 是 | number | 是 | 使用者定义的一个私有值。 |
| wantAgentFlags | 是 | 是 | Array<wantAgent.WantAgentFlags> | 否 | 动作执行属性。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
## WantAgentFlags
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 |
| ------------------- | -------------- | ------------------------------------------------------------ |
| ONE_TIME_FLAG | WantAgentFlags | WantAgent仅能使用一次。 |
| NO_BUILD_FLAG | WantAgentFlags | 如果描述WantAgent对象不存在,则不创建它,直接返回null。 |
| CANCEL_PRESENT_FLAG | WantAgentFlags | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象。 |
| UPDATE_PRESENT_FLAG | WantAgentFlags | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据。 |
| CONSTANT_FLAG | WantAgentFlags | WantAgent是不可变的。 |
## OperationType
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 |
| ----------------- | ------------- | ------------------------- |
| UNKNOWN_TYPE | OperationType | 不识别的类型。 |
| START_ABILITY | OperationType | 开启一个有页面的Ability。 |
| START_ABILITIES | OperationType | 开启多个有页面的Ability。 |
| START_SERVICE | OperationType | 开启一个无页面的ability。 |
| SEND_COMMON_EVENT | OperationType | 发送一个公共事件。 |
## CompleteData
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | ---- | ------------------------------ | ---- | ---------------------- |
| info | 是 | 是 | WantAgent | 是 | 触发的wantAgent。 |
| want | 是 | 是 | Want | 是 | 存在的被触发的want。 |
| finalCode | 是 | 是 | number | 是 | 触发wantAgent的请求代码。|
| finalData | 是 | 是 | string | 否 | 公共事件收集的最终数据。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
## TriggerInfo
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | -------------------- | ---- | ----------- |
| code | 是 | 是 | number | 是 | result code。 |
| want | 是 | 是 | Want | 否 | Want。 |
| permission | 是 | 是 | string | 否 | 权限定义。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册