diff --git a/zh-cn/application-dev/reference/apis/js-apis-Context.md b/zh-cn/application-dev/reference/apis/js-apis-Context.md index e0536f8dfad59b120302406a2a519eebd19703f1..5a166a8f30ea168e0425013abf4698c34b4c6c96 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-Context.md +++ b/zh-cn/application-dev/reference/apis/js-apis-Context.md @@ -1,542 +1,555 @@ -# Context模块(JS端SDK接口) - -#### 支持设备 - -| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | -| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | -| Context.getOrCreateLocalDir(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getOrCreateLocalDir() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.verifyPermission(permission: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.verifyPermission(permission: string, options?: PermissionOptions) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getApplicationInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getApplicationInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getBundleName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getBundleName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getProcessInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getProcessInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getElementName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getElementName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getProcessName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getProcessName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getCallingBundle(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| Context.getCallingBundle() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | - -#### 权限列表 - -**ohos.permission.RUNNING_LOCK permission** - -#### 导入模块 - -``` -import featureAbility from '@ohos.ability.featureAbility' -import bundle from '@ohos.bundle' -``` - -#### Context.getOrCreateLocalDir(callback: AsyncCallback\) - -- 接口说明 - - 获取应用程序的本地根目录。如果是第一次调用,将创建目录(callback形式) - -- getOrCreateLocalDir参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | ----------------------- | ---- | ---------------- | -| callback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 | - -- 返回值 - - 根目录 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getOrCreateLocalDir() -``` - - - -#### Context.getOrCreateLocalDir() - -- 接口说明 - - 获取应用程序的本地根目录。如果是第一次调用,将创建目录(Promise形式) - -- 返回值 - - 根目录 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getOrCreateLocalDir().then((void) => { - console.info("==========================>getOrCreateLocalDirCallback=======================>"); -}); -``` - - - -#### Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\) - -- 接口说明 - - 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式) - -- verifyPermission参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ---------------------- | ---- | ---------------- | -| permission | 只读 | string | 是 | 指定权限的名称 | -| options | 只读 | PermissionOptions | 是 | 进程id | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -- PermissionOptions类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---- | -------- | ------ | ---- | ------ | -| pid | 只读 | number | 否 | 进程id | -| uid | 只读 | number | 否 | 用户id | - -- 返回值 - - 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import bundle from '@ohos.bundle' -var context = featureAbility.getContext(); -var datainfo = await bundle.getBundleInfo('com.context.test',1); -context.verifyPermission("com.example.permission",datainfo.uid,) - -``` - - - -#### Context.verifyPermission(permission: string, callback: AsyncCallback\) - -- 接口说明 - - 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式) - -- 参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ----------------------- | ---- | ---------------- | -| permission | 只读 | string | 是 | 指定权限的名称 | -| callback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 | - -- 返回值 - - 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.verifyPermission("com.example.permission") -``` - - - -#### Context.verifyPermission(permission: string, options?: PermissionOptions) - -- 接口说明 - - 验证系统中运行的特定pid和uid是否允许指定的权限(Promise形式) -- verifyPermission参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ----------------- | ---- | -------------- | -| permission | 只读 | string | 是 | 指定权限的名称 | -| options | 只读 | PermissionOptions | 否 | 进程id | - -- PermissionOptions类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---- | -------- | ------ | ---- | ------ | -| pid | 只读 | number | 否 | 进程id | -| uid | 只读 | number | 否 | 用户id | - -- 返回值 - - 如果PID和UID具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -var Permission = context.PermissionOptions(1,1); -context.getOrCreateLocalDir('com.context.permission',Permission).then((void) => { - console.info("==========================>verifyPermissionCallback=======================>"); -}); -``` - - - -#### Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\) - -- 接口说明 - - 从系统请求某些权限(callback形式) - -- requestPermissionsFromUser参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------------- | -------- | ---------------------------------------- | ---- | --------------------------------------------- | -| permissions | 只读 | Array\ | 是 | 指示要请求的权限列表。此参数不能为null | -| requestCode | 只读 | number | 是 | 指示要传递给PermissionRequestResult的请求代码 | -| resultCallback | 只读 | AsyncCallback\) | 是 | 被指定的回调方法 | -- PermissionRequestResult类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | -------------- | ---- | ------------------ | -| requestCode | 只读 | number | 是 | 用户传入的请求代码 | -| permissions | 只读 | Array\ | 是 | 用户传入的权限 | -| authResults | 只读 | Array\ | 是 | 求权限的结果 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getOrCreateLocalDir( - ["com.example.permission1", - "com.example.permission2", - "com.example.permission3", - "com.example.permission4", - "com.example.permission5"], - 1, -) -``` - - - -#### Context.getApplicationInfo(callback: AsyncCallback\) - -- 接口说明 - - 获取有关当前应用程序的信息(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ------------------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getApplicationInfo() -``` - - - -#### Context.getApplicationInfo() - -- 接口说明 - - 获取有关当前应用程序的信息(Promise形式) - -- 参数描述 - - Null - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getApplicationInfo().then((void) => { - console.info("==========================>getApplicationInfoCallback=======================>"); -}); -``` - - - -#### Context.getBundleName(callback: AsyncCallback\) - -- 接口说明 - - 获取当前ability的捆绑包名称(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getBundleName() -``` - - - -#### Context.getBundleName() - -- 接口说明 - - 获取当前ability的捆绑包名称(Promise形式) - -- 参数描述 - - Null - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getBundleName().then((void) => { - console.info("==========================>getBundleNameCallback=======================>"); -}); -``` - - - -#### Context.getProcessInfo(callback: AsyncCallback\) - -- 接口说明 - - 获取有关当前进程的信息,包括进程ID和名称(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | --------------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getProcessInfo() -``` - - - -#### Context.getProcessInfo() - -- 接口说明 - - 获取有关当前进程的信息,包括进程ID和名称(Promise形式) - -- 参数描述 - - Null - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getProcessInfo().then((void) => { - console.info("==========================>getProcessInfoCallback=======================>"); -}); -``` - - - -#### Context.getElementName(callback: AsyncCallback\) - -- 接口说明 - - 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | --------------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getElementName() -``` - - - -#### Context.getElementName() - -- 接口说明 - - 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(Promise形式) - -- 参数描述 - - Null - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getElementName().then((void) => { - console.info("==========================>getElementNameCallback=======================>"); -}); -``` - -#### - -#### Context.getProcessName(callback: AsyncCallback\) - -- 接口说明 - - 获取当前进程的名称(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getProcessName() -``` - - - -#### Context.getProcessName() - -- 接口说明 - - 获取当前进程的名称(Promise形式) - -- 参数描述 - - Null - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getProcessName().then((void) => { - console.info("==========================>getProcessNameCallback=======================>"); -}); -``` - - - -#### Context.getCallingBundle(callback: AsyncCallback\) - -- 接口说明 - - 获取调用当前能力的能力的捆绑包名称(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getCallingBundle() -``` - - - -#### Context.getCallingBundle() - -- 接口说明 - - 获取调用当前能力的能力的捆绑包名称(Promise形式) - -- 参数描述 - - Null - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var context = featureAbility.getContext(); -context.getCallingBundle().then((void) => { - console.info("==========================>getCallingBundleCallback=======================>"); -}); -``` - +# Context模块 + +## 支持设备 + +| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | +| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | +| Context.getOrCreateLocalDir(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getOrCreateLocalDir() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.verifyPermission(permission: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.verifyPermission(permission: string, options?: PermissionOptions) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.requestPermissionsFromUser(permissions: Array\, requestCode: number, resultCallback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getApplicationInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getApplicationInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getBundleName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getBundleName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getProcessInfo(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getProcessInfo() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getElementName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getElementName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getProcessName(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getProcessName() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getCallingBundle(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| Context.getCallingBundle() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | + +## 导入模块 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import bundle from '@ohos.bundle' +``` + +Context对象是在featureAbility中创建实例,并通过featureAbility的getContext()接口返回,因此在使用Context时,必须导入@ohos.ability.featureAbility库。示例如下: + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getOrCreateLocalDir() +``` + +## Context.getOrCreateLocalDir(callback: AsyncCallback) + +- 接口说明 + + 获取应用程序的本地根目录。如果是第一次调用,将创建目录(callback形式) + +- getOrCreateLocalDir参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | ---------------------- | ---- | ------------------------ | +| callback | 只读 | AsyncCallback\ | 是 | 返回应用程序的本地根目录 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getOrCreateLocalDir((err, data)=>{ + console.info("data=" + data); +}) +``` + + + +## Context.getOrCreateLocalDir() + +- 接口说明 + + 获取应用程序的本地根目录。如果是第一次调用,将创建目录(Promise形式) + +- 返回值 + + | 类型 | 说明 | + | --------------- | -------------------- | + | Promise | 应用程序的本地根目录 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getOrCreateLocalDir().then((void) => { + console.info("==========================>getOrCreateLocalDirCallback=======================>"); +}); +``` + +## PermissionOptions类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---- | -------- | ------ | ---- | ------ | +| pid | 只读 | number | 否 | 进程id | +| uid | 只读 | number | 否 | 用户id | + +## Context.verifyPermission(permission: string, options: PermissionOptions, callback: AsyncCallback) + +- 接口说明 + + 验证系统中运行的特定pid和uid是否允许指定的权限(callback形式) + +- 参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ----------------------------------------------- | ---- | ----------------------------------- | +| permission | 只读 | string | 是 | 指定权限的名称 | +| options | 只读 | [PermissionOptions](#PermissionOptions类型说明) | 是 | 进程id | +| callback | 只读 | AsyncCallback\ | 是 | 返回权限验证结果,0有权限,-1无权限 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import bundle from '@ohos.bundle' +var context = featureAbility.getContext(); +var datainfo = await bundle.getBundleInfo('com.context.test',1); +context.verifyPermission("com.example.permission",datainfo.uid) + +``` + + + +## Context.verifyPermission(permission: string, callback: AsyncCallback) + +- 接口说明 + + 验证系统中运行的特定pid和uid是否具有指定的权限(callback形式) + +- 参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ---------------------- | ---- | ----------------------------------- | +| permission | 只读 | string | 是 | 指定权限的名称 | +| callback | 只读 | AsyncCallback\ | 是 | 返回权限验证结果,0有权限,-1无权限 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.verifyPermission("com.example.permission") +``` + + + +## Context.verifyPermission(permission: string, options?: PermissionOptions) + +- 接口说明 + + 验证系统中运行的特定pid和uid是否具有指定的权限(Promise形式) +- 参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ----------------------------------------------- | ---- | -------------- | +| permission | 只读 | string | 是 | 指定权限的名称 | +| options | 只读 | [PermissionOptions](#PermissionOptions类型说明) | 否 | 进程id | + +- 返回值 + + | 类型 | 说明 | + | --------------- | ------------------------------------------------------------ | + | Promise | 如果pid和uid具有权限,则使用{@code 0}进行异步回调;否则使用{@code-1}回调。 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +var Permission = context.PermissionOptions(1,1); +context.getOrCreateLocalDir('com.context.permission',Permission).then((void) => { + console.info("==========================>verifyPermissionCallback=======================>"); +}); +``` + +## PermissionRequestResult类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ----------- | -------- | -------------- | ---- | ------------------ | +| requestCode | 只读 | number | 是 | 用户传入的请求代码 | +| permissions | 只读 | Array\ | 是 | 用户传入的权限 | +| authResults | 只读 | Array\ | 是 | 求权限的结果 | + + + +## Context.requestPermissionsFromUser(permissions: Array, requestCode: number, resultCallback: AsyncCallback<[PermissionRequestResult](#PermissionRequestResult类型说明)>) + +- 接口说明 + + 从系统请求某些权限(callback形式) + +- requestPermissionsFromUser参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------------- | -------- | ------------------------------------------------------------ | ---- | --------------------------------------------- | +| permissions | 只读 | Array\ | 是 | 指示要请求的权限列表。此参数不能为null | +| requestCode | 只读 | number | 是 | 指示要传递给PermissionRequestResult的请求代码 | +| resultCallback | 只读 | AsyncCallback\<[PermissionRequestResult](#PermissionRequestResult类型说明)> | 是 | 返回授权结果信息 | +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getOrCreateLocalDir( + ["com.example.permission1", + "com.example.permission2", + "com.example.permission3", + "com.example.permission4", + "com.example.permission5"], + 1, +) +``` + + + +## Context.getApplicationInfo(callback: AsyncCallback) + +- 接口说明 + + 获取有关当前应用程序的信息(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ------------------------------- | ---- | ---------------------- | + | callback | 只读 | AsyncCallback\ | 是 | 返回当前应用程序的信息 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getApplicationInfo() +``` + + + +## Context.getApplicationInfo + +- 接口说明 + + 获取有关当前应用程序的信息(Promise形式) + +- 参数描述 + + 无 + +- 返回值 + + | 类型 | 说明 | + | ------------------------ | ------------------ | + | Promise | 当前应用程序的信息 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getApplicationInfo().then((void) => { + console.info("==========================>getApplicationInfoCallback=======================>"); +}); +``` + + + +## Context.getBundleName(callback: AsyncCallback) + +- 接口说明 + + 获取当前ability的捆绑包名称(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | --------------------------- | + | callback | 只读 | AsyncCallback\ | 是 | 返回当前ability的捆绑包名称 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getBundleName() +``` + + + +## Context.getBundleName + +- 接口说明 + + 获取当前ability的捆绑包名称(Promise形式) + +- 参数描述 + + 无 + +- 返回值 + + | 类型 | 说明 | + | --------------- | ----------------------- | + | Promise | 当前ability的捆绑包名称 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getBundleName().then((void) => { + console.info("==========================>getBundleNameCallback=======================>"); +}); +``` + + + +## Context.getProcessInfo(callback: AsyncCallback) + +- 接口说明 + + 获取有关当前进程的信息,包括进程ID和名称(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | --------------------------- | ---- | ------------------ | + | callback | 只读 | AsyncCallback\ | 是 | 返回当前进程的信息 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getProcessInfo() +``` + + + +## Context.getProcessInfo + +- 接口说明 + + 获取有关当前进程的信息,包括进程id和名称(Promise形式) + +- 参数描述 + + 无 + +- 返回值 + + | 类型 | 说明 | + | -------------------- | -------------- | + | Promise | 当前进程的信息 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getProcessInfo().then((void) => { + console.info("==========================>getProcessInfoCallback=======================>"); +}); +``` + + + +## Context.getElementName(callback: AsyncCallback) + +- 接口说明 + + 获取当前ability的ohos.bundle.ElementName对象。此方法仅适用于页面功能(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | --------------------------- | ---- | -------------------------------------------- | + | callback | 只读 | AsyncCallback\ | 是 | 返回当前ability的ohos.bundle.ElementName对象 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getElementName() +``` + + + +## Context.getElementName + +- 接口说明 + + 获取当前能力的ohos.bundle.ElementName对象。此方法仅适用于页面功能(Promise形式) + +- 参数描述 + + 无 + +- 返回值 + + | 类型 | 说明 | + | -------------------- | ---------------------------------------- | + | Promise | 当前ability的ohos.bundle.ElementName对象 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getElementName().then((void) => { + console.info("==========================>getElementNameCallback=======================>"); +}); +``` + +## **Context.getProcessName(callback: AsyncCallback)** + +- 接口说明 + + 获取当前进程的名称(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------ | + | callback | 只读 | AsyncCallback\ | 是 | 返回当前进程的名称 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getProcessName() +``` + + + +## Context.getProcessName + +- 接口说明 + + 获取当前进程的名称(Promise形式) + +- 参数描述 + + 无 + +- 返回值 + + | 类型 | 说明 | + | --------------- | -------------- | + | Promise | 当前进程的名称 | + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getProcessName().then((void) => { + console.info("==========================>getProcessNameCallback=======================>"); +}); +``` + + + +## Context.getCallingBundle(callback: AsyncCallback) + +- 接口说明 + + 获取调用当前ability捆绑包名称(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------- | + | callback | 只读 | AsyncCallback\ | 是 | 返回当前ability捆绑包名称 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getCallingBundle() +``` + + + +## Context.getCallingBundle + +- 接口说明 + + 获取调用当前ability捆绑包名称(Promise形式) + +- 参数描述 + + 无 + +- 返回值 + + | 类型 | 说明 | + | --------------- | ------------------------- | + | Promise | 调用当前ability捆绑包名称 | + + + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getCallingBundle().then((void) => { + console.info("==========================>getCallingBundleCallback=======================>"); +}); +``` + diff --git a/zh-cn/application-dev/reference/apis/js-apis-DataUriUtils.md b/zh-cn/application-dev/reference/apis/js-apis-DataUriUtils.md index 876057ea7d8dc0889f376ed4badf779fa424a5e8..f1366f61abb790fe045ca6178e3de28c400b0d57 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-DataUriUtils.md +++ b/zh-cn/application-dev/reference/apis/js-apis-DataUriUtils.md @@ -1,122 +1,118 @@ -### DataUriUtils模块(JS端SDK接口) - -#### 权限列表 - -ohos.permission.RUNNING_LOCK permission - -#### 导入模块 - -```js -import notify from '@ohos.ability.dataUriUtils'; -``` - -#### DataUriUtils.getId(uri: string) - -- 接口说明 - - 获取附加到给定uri的路径组件末尾的ID - -- 参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---- | -------- | ------ | ---- | ------------------------- | -| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 | - -- 返回值 - - 附加到路径组件末尾的ID - -- 示例 - -```js -import dataUriUtils from '@ohos.ability.datauriutils' -dataUriUtils.getIdSync("com.example.dataUriUtils/1221") -``` - - - -#### DataUriUtils.attachId(uri: string, id: number) - -- 接口说明 - - 将给定ID附加到给定uri的路径组件的末尾 - -- 参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---- | -------- | ------ | ---- | ------------------------- | -| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 | -| id | 只读 | number | 是 | 指示要附加的ID | - -- 返回值 - - 附加给定ID的uri对象 - -- 示例 - -```js -import dataUriUtils from '@ohos.ability.datauriutils' -var idint = 1122; -dataUriUtils.attachId( - "com.example.dataUriUtils" - idint, -) -``` - - - -#### DataUriUtils.deleteId(uri: string) - -- 接口说明 - - 从给定uri的路径组件的末尾删除ID - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ------------------------- | - | uri | 只读 | string | 是 | 指示要从中删除ID的uri对象 | - -- 返回值 - - ID已删除的uri对象 - -- 示例 - -```js -import dataUriUtils from '@ohos.ability.datauriutils' -dataUriUtils.deleteId("com.example.dataUriUtils/1221") -``` - - - -#### DataUriUtils.updateId(uri: string, id: number) - -- 接口说明 - - 更新指定uri中的ID - -- updateId参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ------------------- | - | uri | 只读 | string | 是 | 指示要更新的uri对象 | - | id | 只读 | number | 是 | 指示新ID | - -- 返回值 - - 更新的uri对象 - -- 示例 - -```js -import dataUriUtils from '@ohos.ability.datauriutils' -var idint = 1122; -dataUriUtils.updateId( - "com.example.dataUriUtils" - idint, -) -``` - +# DataUriUtils模块 + +## 导入模块 + +```js +import dataUriUtils from '@ohos.ability.dataUriUtils'; +``` + +## DataUriUtils.getId + +- 接口说明 + + 获取附加到给定uri的路径组件末尾的ID + +- 参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---- | -------- | ------ | ---- | ------------------------- | +| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 | + +- 返回值 + + 附加到路径组件末尾的ID + +- 示例 + +```js +import dataUriUtils from '@ohos.ability.datauriutils' +dataUriUtils.getIdSync("com.example.dataUriUtils/1221") +``` + + + +## DataUriUtils.attachId + +- 接口说明 + + 将给定ID附加到给定uri的路径组件的末尾 + +- 参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---- | -------- | ------ | ---- | ------------------------- | +| uri | 只读 | string | 是 | 指示要从中获取ID的uri对象 | +| id | 只读 | number | 是 | 指示要附加的ID | + +- 返回值 + + 附加给定ID的uri对象 + +- 示例 + +```js +import dataUriUtils from '@ohos.ability.datauriutils' +var idint = 1122; +dataUriUtils.attachId( + "com.example.dataUriUtils" + idint, +) +``` + + + +## DataUriUtils.deleteId + +- 接口说明 + + 从给定uri的路径组件的末尾删除ID + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ------------------------- | + | uri | 只读 | string | 是 | 指示要从中删除ID的uri对象 | + +- 返回值 + + ID已删除的uri对象 + +- 示例 + +```js +import dataUriUtils from '@ohos.ability.datauriutils' +dataUriUtils.deleteId("com.example.dataUriUtils/1221") +``` + + + +## DataUriUtils.updateId + +- 接口说明 + + 更新指定uri中的ID + +- updateId参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ------------------- | + | uri | 只读 | string | 是 | 指示要更新的uri对象 | + | id | 只读 | number | 是 | 指示新ID | + +- 返回值 + + 更新的uri对象 + +- 示例 + +```js +import dataUriUtils from '@ohos.ability.datauriutils' +var idint = 1122; +dataUriUtils.updateId( + "com.example.dataUriUtils" + idint, +) +``` + diff --git a/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md b/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md index dd7dc23cbbdbc2538c2720380f728795872e21b2..7339625b60c941df9081396f71b414c6907b8748 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md +++ b/zh-cn/application-dev/reference/apis/js-apis-commonEvent.md @@ -1,508 +1,910 @@ -# CommonEvent模块(JS端SDK接口) - -#### 支持设备 - -| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | -| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | -| CommonEvent.publish(event: string, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | -| CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | -| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | -| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) | 支持 | 支持 | 支持 | 支持 | 不支持 | -| CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | -| CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | - -#### 权限列表 - -| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 | -| ------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------ | -| 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 | 无 | -| COMMON_EVENT_BATTERY_OKAY | usual.event.BATTERY_OKAY | 无 | -| COMMON_EVENT_POWER_CONNECTED | usual.event.POWER_CONNECTED | 无 | -| 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_USER_PRESENT | usual.event.USER_PRESENT | 无 | -| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 | -| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 | -| COMMON_EVENT_DATE_CHANGED | usual.event.DATE_CHANGED | 无 | -| COMMON_EVENT_TIMEZONE_CHANGED | usual.event.TIMEZONE_CHANGED | 无 | -| COMMON_EVENT_CLOSE_SYSTEM_DIALOGS | usual.event.CLOSE_SYSTEM_DIALOGS | 无 | -| COMMON_EVENT_PACKAGE_ADDED | usual.event.PACKAGE_ADDED | 无 | -| COMMON_EVENT_PACKAGE_REPLACED | usual.event.PACKAGE_REPLACED | 无 | -| COMMON_EVENT_MY_PACKAGE_REPLACED | usual.event.MY_PACKAGE_REPLACED | 无 | -| COMMON_EVENT_PACKAGE_REMOVED | usual.event.PACKAGE_REMOVED | 无 | -| COMMON_EVENT_PACKAGE_FULLY_REMOVED | usual.event.PACKAGE_FULLY_REMOVED | 无 | -| COMMON_EVENT_PACKAGE_CHANGED | usual.event.PACKAGE_CHANGED | 无 | -| COMMON_EVENT_PACKAGE_RESTARTED | usual.event.PACKAGE_RESTARTED | 无 | -| COMMON_EVENT_PACKAGE_DATA_CLEARED | usual.event.PACKAGE_DATA_CLEARED | 无 | -| COMMON_EVENT_PACKAGES_SUSPENDED | usual.event.PACKAGES_SUSPENDED | 无 | -| COMMON_EVENT_PACKAGES_UNSUSPENDED | usual.event.PACKAGES_UNSUSPENDED | 无 | -| COMMON_EVENT_MY_PACKAGE_SUSPENDED | usual.event.MY_PACKAGE_SUSPENDED | 无 | -| COMMON_EVENT_MY_PACKAGE_UNSUSPENDED | usual.event.MY_PACKAGE_UNSUSPENDED | 无 | -| COMMON_EVENT_UID_REMOVED | usual.event.UID_REMOVED | 无 | -| COMMON_EVENT_PACKAGE_FIRST_LAUNCH | usual.event.PACKAGE_FIRST_LAUNCH | 无 | -| COMMON_EVENT_PACKAGE_NEEDS_VERIFICATION | usual.event.PACKAGE_NEEDS_VERIFICATION | 无 | -| COMMON_EVENT_PACKAGE_VERIFIED | usual.event.PACKAGE_VERIFIED | 无 | -| COMMON_EVENT_EXTERNAL_APPLICATIONS_AVAILABLE | usual.event.EXTERNAL_APPLICATIONS_AVAILABLE | 无 | -| COMMON_EVENT_EXTERNAL_APPLICATIONS_UNAVAILABLE | usual.event.EXTERNAL_APPLICATIONS_UNAVAILABLE | 无 | -| COMMON_EVENT_CONFIGURATION_CHANGED | usual.event.CONFIGURATION_CHANGED | 无 | -| COMMON_EVENT_LOCALE_CHANGED | usual.event.LOCALE_CHANGED | 无 | -| COMMON_EVENT_MANAGE_PACKAGE_STORAGE | usual.event.MANAGE_PACKAGE_STORAGE | 无 | -| COMMON_EVENT_DRIVE_MODE | common.event.DRIVE_MODE | 无 | -| COMMON_EVENT_HOME_MODE | common.event.HOME_MODE | 无 | -| COMMON_EVENT_OFFICE_MODE | common.event.OFFICE_MODE | 无 | -| COMMON_EVENT_USER_STARTED | usual.event.USER_STARTED | 无 | -| 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 | 无 | -| COMMON_EVENT_HWID_TOKEN_INVALID | common.event.HWID_TOKEN_INVALID | 无 | -| COMMON_EVENT_HWID_LOGOFF | common.event.HWID_LOGOFF | 无 | -| COMMON_EVENT_WIFI_POWER_STATE | usual.event.wifi.POWER_STATE | 无 | -| COMMON_EVENT_WIFI_SCAN_FINISHED | usual.event.wifi.SCAN_FINISHED | ohos.permission.LOCATION | -| COMMON_EVENT_WIFI_RSSI_VALUE | usual.event.wifi.RSSI_VALUE | ohos.permission.GET_WIFI_INFO | -| COMMON_EVENT_WIFI_CONN_STATE | usual.event.wifi.CONN_STATE | 无 | -| 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.USE_BLUETOOTH and 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 | 无 | -| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_CANCEL | usual.event.bluetooth.remotedevice.CONNECT_CANCEL | 无 | -| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.CONNECT_STATE_UPDATE | 无 | -| 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 | 无 | -| 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 | common.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE | -| COMMON_EVENT_ABILITY_REMOVED | common.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE | -| COMMON_EVENT_ABILITY_UPDATED | common.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 | 无 | -| COMMON_EVENT_IVI_STANDBY | common.event.IVI_STANDBY | 无 | -| COMMON_EVENT_IVI_LASTMODE_SAVE | common.event.IVI_LASTMODE_SAVE | 无 | -| COMMON_EVENT_IVI_VOLTAGE_ABNORMAL | common.event.IVI_VOLTAGE_ABNORMAL | 无 | -| COMMON_EVENT_IVI_HIGH_TEMPERATURE | common.event.IVI_HIGH_TEMPERATURE | 无 | -| COMMON_EVENT_IVI_EXTREME_TEMPERATURE | common.event.IVI_EXTREME_TEMPERATURE | 无 | -| COMMON_EVENT_IVI_TEMPERATURE_ABNORMAL | common.event.IVI_TEMPERATURE_ABNORMAL | 无 | -| COMMON_EVENT_IVI_VOLTAGE_RECOVERY | common.event.IVI_VOLTAGE_RECOVERY | 无 | -| COMMON_EVENT_IVI_TEMPERATURE_RECOVERY | common.event.IVI_TEMPERATURE_RECOVERY | 无 | -| COMMON_EVENT_IVI_ACTIVE | common.event.IVI_ACTIVE | 无 | -| COMMON_EVENT_USB_DEVICE_ATTACHED | usual.event.hardware.usb.action.USB_DEVICE_ATTACHED | 无 | -| COMMON_EVENT_USB_DEVICE_DETACHED | usual.event.hardware.usb.action.USB_DEVICE_DETACHED | 无 | -| COMMON_EVENT_USB_ACCESSORY_ATTACHED | usual.event.hardware.usb.action.USB_ACCESSORY_ATTACHED | 无 | -| COMMON_EVENT_USB_ACCESSORY_DETACHED | usual.event.hardware.usb.action.USB_ACCESSORY_DETACHED | 无 | -| COMMON_EVENT_DISK_REMOVED | usual.event.data.DISK_REMOVED | ohos.permission.WRITE_USER_STORAGE or ohos.permission.READ_USER_STORAGE | -| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | -| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | -| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | -| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | -| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGEor 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 | common.event.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED | -| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 | - -#### 导入模块 - -```js -import CommonEvent from '@ohos.commonevent'; -``` - - - -#### CommonEvent.publish(event: string, callback: AsyncCallback) - -- 接口说明 - - 发布公共事件(callback形式) - -* publish参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ------------------- | ---- | -------------------- | - | event | 只读 | string | 是 | 表示要发送的公共事件 | - | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 | - -* 返回值 - - void - -* 示例 - -```js -//发布公共事件回调 -function PublishCallBack(err) { - console.info("==========================>PublishCallBack=======================>"); - console.info("==========================>err:=======================>", err.code); -} -//发布公共事件 -CommonEvent.publish("publish_event", PublishCallBack); -``` - - - -#### CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback) - -- 接口说明 - - 发布公共事件指定发布信息(callback形式) - -- publish参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ---------------------- | - | event | 只读 | string | 是 | 表示要发布的公共事件 | - | options | 只读 | CommonEventPublishData | 是 | 表示发布公共事件的属性 | - | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 | - -- CommonEventPublishData类型说明 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | --------------------- | -------- | -------------------- | ---- | ---------------------------- | - | bundleName | 只读 | string | 否 | 表示包名称 | - | code | 只读 | int | 否 | 表示公共事件的结果代码 | - | data | 只读 | string | 否 | 表示公共事件的自定义结果数据 | - | subscriberPermissions | 只读 | Array | 否 | 表示订阅者的权限 | - | isOrdered | 只读 | bool | 否 | 表示是否是有序事件 | - | parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 | - -- 返回值 - - void - -- 示例 - -```js -//公共事件相关信息 -var options = { - code: 0; //公共事件的初始代码 - data: "initial data";//公共事件的初始数据 - isOrdered: true; //有序公共事件 -} -//发布公共事件回调 -function PublishCallBack(err) { - console.info("==========================>PublishCallBack=======================>"); -} -//发布公共事件 -CommonEvent.publish("publish_event", options, PublishCallBack); -``` - - - -#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback) - -- 接口说明 - - 创建订阅者(callback形式) - -- createSubscriber参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------- | -------- | ------------------------------------ | ---- | ------------------------ | - | subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 | - | callback | 只读 | AsyncCallback | 是 | 表示创建订阅者的回调方法 | - -- CommonEventSubscriber 类说明 - - | 名称 | 参数 | 返回值 | 描述 | - | --------------------- | --------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------ | - | getCode | callback: AsyncCallback | void | 获取公共事件的结果代码(callback形式) | - | getCode | void | Promise | 获取公共事件的结果代码(Promise形式) | - | setCode | code: number, callback: AsyncCallback | void | 设置公共事件的结果代码(callback形式) | - | setCode | code: number | Promise | 设置公共事件的结果代码(Promise形式) | - | getData | callback: AsyncCallback | void | 获取公共事件的结果数据(callback形式) | - | getData | void | Promise | 获取公共事件的结果数据(Promise形式) | - | setData | data: string, callback: AsyncCallback | void | 设置公共事件的结果数据(callback形式) | - | setData | data: string | Promise | 设置公共事件的结果数据(Promise形式) | - | setCodeAndData | code: number, data: string, callback: AsyncCallback | void | 设置公共事件的结果代码和结果数据(callback形式) | - | setCodeAndData | code: number, data: string | Promise | 设置公共事件的结果代码和结果数据(Promise形式) | - | isOrderedCommonEvent | callback: AsyncCallback | void | 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(callback形式) | - | isOrderedCommonEvent | void | Promise | 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(Promise形式) | - | abortCommonEvent | callback: AsyncCallback | void | 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式) | - | abortCommonEvent | void | Promise | 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式) | - | clearAbortCommonEvent | callback: AsyncCallback | void | 清除当前有序公共事件abort状态(callback形式) | - | clearAbortCommonEvent | void | Promise | 清除当前有序公共事件abort状态(Promise形式) | - | getAbortCommonEvent | callback: AsyncCallback | void | 获取当前有序公共事件是否取消的状态(callback形式) | - | getAbortCommonEvent | void | Promise | 获取当前有序公共事件是否取消的状态Promise形式) | - | getSubscribeInfo | callback: AsyncCallback | void | 获取订阅者的订阅信息(callback形式) | - | getSubscribeInfo | void | Promise | 获取订阅者的订阅信息(Promise形式) | - -- CommonEventSubscribeInfo类型说明 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ | - | events | 只读 | Array | 是 | 表示要订阅的公共事件 | - | publisherPermission | 只读 | string | 否 | 表示发布者的权限 | - | publisherDeviceId | 只读 | int | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID | - | userId | 只读 | int | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 | - | priority | 只读 | int | 否 | 表示订阅者的优先级,范围为-100~1000。 | - -- 返回值 - - void - -- 示例 - -```js -var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 -//订阅者信息 -var subscribeInfo = { - events: ["event"] -}; -//创建订阅者回调 -function CreateSubscriberCallBack(err, data) { - console.info("==========================>CreateSubscriberCallBack=======================>"); - subscriber = data; -} -//创建订阅者 -CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); -``` - - - -#### CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) - -- 接口说明 - - 创建订阅者(Promise形式) - -- createSubscriber参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------- | -------- | ------------------------ | ---- | ------------ | - | subscribeInfo | 只读 | CommonEventSubscribeInfo | 是 | 表示订阅信息 | - -- CommonEventSubscribeInfo类型说明 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------------- | -------- | ------------- | ---- | ------------------------------------------------------------ | - | events | 只读 | Array | 是 | 表示要发送的公共事件 | - | publisherPermission | 只读 | string | 否 | 表示发布者的权限 | - | publisherDeviceId | 只读 | int | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID | - | userId | 只读 | int | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 | - | priority | 只读 | int | 否 | 表示订阅者的优先级。值的范围是-100到1000 | - -- 返回值 - - Promise - -- 示例 - -```js -var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 -//订阅者信息 -var subscribeInfo = { - events: ["event"] -}; -//创建订阅者 -CommonEvent.createSubscriber(subscribeInfo).then((data) => { - console.info("==========================>createSubscriberPromise=======================>"); - subscriber = data; -}); -``` - - - -#### CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback) - -- 接口说明 - - 订阅公共事件(callback形式) - -- subscribe参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---------- | -------- | ------------------------------ | ---- | ------------------------------ | - | subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 | - | callback | 只读 | AsyncCallback | 是 | 表示接收公共事件数据的回调函数 | - -- CommonEventData类型说明 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---------- | -------- | -------------------- | ---- | ------------------------------------------------------- | - | event | 只读 | string | 是 | 表示当前接收的公共事件名称 | - | bundleName | 只读 | string | 否 | 表示包名称 | - | code | 只读 | int | 否 | 表示公共事件的结果代码,用于传递int类型的数据 | - | data | 只读 | string | 否 | 表示公共事件的自定义结果数据,用于传递string 类型的数据 | - | parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 | - -- 返回值 - - void - -- 示例 - - * 无序事件: - - ```js - var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 - //订阅者信息 - var subscribeInfo = { - events: ["event"] - }; - //订阅公共事件回调 - function SubscribeCallBack(err, data) { - console.info("==========================>SubscribeCallBack=======================>"); - } - //创建订阅者回调 - function CreateSubscriberCallBack(err, data) { - console.info("==========================>CreateSubscriberCallBack=======================>"); - subscriber = data; - //订阅公共事件 - CommonEvent.subscribe(subscriber, SubscribeCallBack); - } - //创建订阅者 - CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); - ``` - - * 有序事件 - - ```js - var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 - //订阅者信息 - var subscribeInfo = { - events: ["event"] - }; - - //设置有序公共事件的结果代码回调 - function SetCodeCallBack(err) { - console.info("==========================>SetCodeCallBack=======================>"); - } - //设置有序公共事件的结果数据回调 - function SetDataCallBack(err) { - console.info("==========================>SetDataCallBack=======================>"); - } - //完成本次有序公共事件处理回调 - function FinishCommonEventCallBack(err) { - console.info("==========================>FinishCommonEventCallBack=======================>"); - } - //订阅公共事件回调 - function SubscribeCallBack(err, data) { - console.info("==========================>SubscribeCallBack=======================>"); - //设置有序公共事件的结果代码 - subscriber.setCode(0, SetCodeCallBack); - //设置有序公共事件的结果数据 - subscriber.setData("publish_data_changed", SetDataCallBack); - //完成本次有序公共事件处理 - subscriber.finishCommonEvent(FinishCommonEventCallBack) - } - - //创建订阅者回调 - function CreateSubscriberCallBack(err, data) { - console.info("==========================>CreateSubscriberCallBack=======================>"); - subscriber = data; - //订阅公共事件 - CommonEvent.subscribe(subscriber, SubscribeCallBack); - } - - //创建订阅者 - CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); - ``` - - - -#### CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback) - -- 接口说明 - - 取消订阅公共事件(callback形式) - -- unsubscribe参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---------- | -------- | --------------------- | ---- | ---------------------- | - | subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 | - | callback | 只读 | AsyncCallback | 是 | 表示取消订阅的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 -//订阅者信息 -var subscribeInfo = { - events: ["event"] -}; -//订阅公共事件回调 -function SubscribeCallBack(err, data) { - console.info("==========================>SubscribeCallBack=======================>"); -} -//创建订阅者回调 -function CreateSubscriberCallBack(err, data) { - console.info("==========================>CreateSubscriberCallBack=======================>"); - subscriber = data; - //订阅公共事件 - CommonEvent.subscribe(subscriber, SubscribeCallBack); -} -//取消订阅公共事件回调 -function UnsubscribeCallBack(err) { - console.info("==========================>UnsubscribeCallBack=======================>"); -} -//创建订阅者 -CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); -//取消订阅公共事件 -CommonEvent.unsubscribe(subscriber, UnsubscribeCallBack); -``` - - - - - +# 公共事件模块 + +**说明:** +本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +## 支持设备 + +| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | +| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | +| CommonEvent.publish(event: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | +| CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | +| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | +| CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo) | 支持 | 支持 | 支持 | 支持 | 不支持 | +| CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | +| CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | + +## 权限列表 + +| 系统公共事件宏 | 系统公共事件名称 | 订阅者所需权限 | +| ------------------------------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------ | +| 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 | 无 | +| COMMON_EVENT_BATTERY_OKAY | usual.event.BATTERY_OKAY | 无 | +| COMMON_EVENT_POWER_CONNECTED | usual.event.POWER_CONNECTED | 无 | +| 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_USER_PRESENT | usual.event.USER_PRESENT | 无 | +| COMMON_EVENT_TIME_TICK | usual.event.TIME_TICK | 无 | +| COMMON_EVENT_TIME_CHANGED | usual.event.TIME_CHANGED | 无 | +| COMMON_EVENT_DATE_CHANGED | usual.event.DATE_CHANGED | 无 | +| COMMON_EVENT_TIMEZONE_CHANGED | usual.event.TIMEZONE_CHANGED | 无 | +| COMMON_EVENT_CLOSE_SYSTEM_DIALOGS | usual.event.CLOSE_SYSTEM_DIALOGS | 无 | +| COMMON_EVENT_PACKAGE_ADDED | usual.event.PACKAGE_ADDED | 无 | +| COMMON_EVENT_PACKAGE_REPLACED | usual.event.PACKAGE_REPLACED | 无 | +| COMMON_EVENT_MY_PACKAGE_REPLACED | usual.event.MY_PACKAGE_REPLACED | 无 | +| COMMON_EVENT_PACKAGE_REMOVED | usual.event.PACKAGE_REMOVED | 无 | +| COMMON_EVENT_PACKAGE_FULLY_REMOVED | usual.event.PACKAGE_FULLY_REMOVED | 无 | +| COMMON_EVENT_PACKAGE_CHANGED | usual.event.PACKAGE_CHANGED | 无 | +| COMMON_EVENT_PACKAGE_RESTARTED | usual.event.PACKAGE_RESTARTED | 无 | +| COMMON_EVENT_PACKAGE_DATA_CLEARED | usual.event.PACKAGE_DATA_CLEARED | 无 | +| COMMON_EVENT_PACKAGES_SUSPENDED | usual.event.PACKAGES_SUSPENDED | 无 | +| COMMON_EVENT_PACKAGES_UNSUSPENDED | usual.event.PACKAGES_UNSUSPENDED | 无 | +| COMMON_EVENT_MY_PACKAGE_SUSPENDED | usual.event.MY_PACKAGE_SUSPENDED | 无 | +| COMMON_EVENT_MY_PACKAGE_UNSUSPENDED | usual.event.MY_PACKAGE_UNSUSPENDED | 无 | +| COMMON_EVENT_UID_REMOVED | usual.event.UID_REMOVED | 无 | +| COMMON_EVENT_PACKAGE_FIRST_LAUNCH | usual.event.PACKAGE_FIRST_LAUNCH | 无 | +| COMMON_EVENT_PACKAGE_NEEDS_VERIFICATION | usual.event.PACKAGE_NEEDS_VERIFICATION | 无 | +| COMMON_EVENT_PACKAGE_VERIFIED | usual.event.PACKAGE_VERIFIED | 无 | +| COMMON_EVENT_EXTERNAL_APPLICATIONS_AVAILABLE | usual.event.EXTERNAL_APPLICATIONS_AVAILABLE | 无 | +| COMMON_EVENT_EXTERNAL_APPLICATIONS_UNAVAILABLE | usual.event.EXTERNAL_APPLICATIONS_UNAVAILABLE | 无 | +| COMMON_EVENT_CONFIGURATION_CHANGED | usual.event.CONFIGURATION_CHANGED | 无 | +| COMMON_EVENT_LOCALE_CHANGED | usual.event.LOCALE_CHANGED | 无 | +| COMMON_EVENT_MANAGE_PACKAGE_STORAGE | usual.event.MANAGE_PACKAGE_STORAGE | 无 | +| COMMON_EVENT_DRIVE_MODE | common.event.DRIVE_MODE | 无 | +| COMMON_EVENT_HOME_MODE | common.event.HOME_MODE | 无 | +| COMMON_EVENT_OFFICE_MODE | common.event.OFFICE_MODE | 无 | +| COMMON_EVENT_USER_STARTED | usual.event.USER_STARTED | 无 | +| 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 | 无 | +| COMMON_EVENT_HWID_TOKEN_INVALID | common.event.HWID_TOKEN_INVALID | 无 | +| COMMON_EVENT_HWID_LOGOFF | common.event.HWID_LOGOFF | 无 | +| COMMON_EVENT_WIFI_POWER_STATE | usual.event.wifi.POWER_STATE | 无 | +| COMMON_EVENT_WIFI_SCAN_FINISHED | usual.event.wifi.SCAN_FINISHED | ohos.permission.LOCATION | +| COMMON_EVENT_WIFI_RSSI_VALUE | usual.event.wifi.RSSI_VALUE | ohos.permission.GET_WIFI_INFO | +| COMMON_EVENT_WIFI_CONN_STATE | usual.event.wifi.CONN_STATE | 无 | +| 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.USE_BLUETOOTH and 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 | 无 | +| COMMON_EVENT_BLUETOOTH_REMOTEDEVICE_CONNECT_CANCEL | usual.event.bluetooth.remotedevice.CONNECT_CANCEL | 无 | +| COMMON_EVENT_BLUETOOTH_HANDSFREEUNIT_CONNECT_STATE_UPDATE | usual.event.bluetooth.handsfreeunit.CONNECT_STATE_UPDATE | 无 | +| 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 | 无 | +| 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 | common.event.ABILITY_ADDED | ohos.permission.LISTEN_BUNDLE_CHANGE | +| COMMON_EVENT_ABILITY_REMOVED | common.event.ABILITY_REMOVED | ohos.permission.LISTEN_BUNDLE_CHANGE | +| COMMON_EVENT_ABILITY_UPDATED | common.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 | 无 | +| COMMON_EVENT_IVI_STANDBY | common.event.IVI_STANDBY | 无 | +| COMMON_EVENT_IVI_LASTMODE_SAVE | common.event.IVI_LASTMODE_SAVE | 无 | +| COMMON_EVENT_IVI_VOLTAGE_ABNORMAL | common.event.IVI_VOLTAGE_ABNORMAL | 无 | +| COMMON_EVENT_IVI_HIGH_TEMPERATURE | common.event.IVI_HIGH_TEMPERATURE | 无 | +| COMMON_EVENT_IVI_EXTREME_TEMPERATURE | common.event.IVI_EXTREME_TEMPERATURE | 无 | +| COMMON_EVENT_IVI_TEMPERATURE_ABNORMAL | common.event.IVI_TEMPERATURE_ABNORMAL | 无 | +| COMMON_EVENT_IVI_VOLTAGE_RECOVERY | common.event.IVI_VOLTAGE_RECOVERY | 无 | +| COMMON_EVENT_IVI_TEMPERATURE_RECOVERY | common.event.IVI_TEMPERATURE_RECOVERY | 无 | +| COMMON_EVENT_IVI_ACTIVE | common.event.IVI_ACTIVE | 无 | +| COMMON_EVENT_USB_DEVICE_ATTACHED | usual.event.hardware.usb.action.USB_DEVICE_ATTACHED | 无 | +| COMMON_EVENT_USB_DEVICE_DETACHED | usual.event.hardware.usb.action.USB_DEVICE_DETACHED | 无 | +| COMMON_EVENT_USB_ACCESSORY_ATTACHED | usual.event.hardware.usb.action.USB_ACCESSORY_ATTACHED | 无 | +| COMMON_EVENT_USB_ACCESSORY_DETACHED | usual.event.hardware.usb.action.USB_ACCESSORY_DETACHED | 无 | +| COMMON_EVENT_DISK_REMOVED | usual.event.data.DISK_REMOVED | ohos.permission.WRITE_USER_STORAGE or ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_DISK_UNMOUNTED | usual.event.data.DISK_UNMOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_DISK_MOUNTED | usual.event.data.DISK_MOUNTED | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_DISK_BAD_REMOVAL | usual.event.data.DISK_BAD_REMOVAL | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_DISK_UNMOUNTABLE | usual.event.data.DISK_UNMOUNTABLE | ohos.permission.WRITE_USER_STORAGEor ohos.permission.READ_USER_STORAGE | +| COMMON_EVENT_DISK_EJECT | usual.event.data.DISK_EJECT | ohos.permission.WRITE_USER_STORAGEor 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 | common.event.FOUNDATION_READY | ohos.permission.RECEIVER_STARTUP_COMPLETED | +| COMMON_EVENT_AIRPLANE_MODE_CHANGED | usual.event.AIRPLANE_MODE | 无 | + +## 导入模块 + +```js +import CommonEvent from '@ohos.commonevent'; +``` + + + +## CommonEvent.publish(event: string, callback: AsyncCallback\): void + +- 接口说明 + + 发布公共事件(callback形式) + +* publish参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | -------------------- | ---- | -------------------- | + | event | 只读 | string | 是 | 表示要发送的公共事件 | + | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +* 示例 + +```js +//发布公共事件回调 +function PublishCallBack(err) { + console.info("==========================>PublishCallBack=======================>"); + console.info("==========================>err:=======================>", err.code); +} +//发布公共事件 +CommonEvent.publish("publish_event", PublishCallBack); +``` + + + +## CommonEvent.publish(event: string, options: CommonEventPublishData, callback: AsyncCallback\): void + +- 接口说明 + + 发布公共事件指定发布信息(callback形式) + +- publish参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ---------------------- | + | event | 只读 | string | 是 | 表示要发布的公共事件 | + | options | 只读 | [CommonEventPublishData](#publishData) | 是 | 表示发布公共事件的属性 | + | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +- 示例 + + +```js +//公共事件相关信息 +var options = { + code: 0; //公共事件的初始代码 + data: "initial data";//公共事件的初始数据 + isOrdered: true; //有序公共事件 +} +//发布公共事件回调 +function PublishCallBack(err) { + console.info("==========================>PublishCallBack=======================>"); +} +//发布公共事件 +CommonEvent.publish("publish_event", options, PublishCallBack); +``` + + + +## CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback\): void + +- 接口说明 + + 创建订阅者(callback形式) + +- createSubscriber参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------- | -------- | ---------------------------------------------------- | ---- | ------------------------ | + | subscribeInfo | 只读 | [CommonEventSubscribeInfo](#SubscribeInfo) | 是 | 表示订阅信息 | + | callback | 只读 | AsyncCallback\<[CommonEventSubscriber](#Subscriber)> | 是 | 表示创建订阅者的回调方法 | + +- 示例 + + +```js +var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 +//订阅者信息 +var subscribeInfo = { + events: ["event"] +}; +//创建订阅者回调 +function CreateSubscriberCallBack(err, data) { + console.info("==========================>CreateSubscriberCallBack=======================>"); + subscriber = data; +} +//创建订阅者 +CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); +``` + + + +## CommonEvent.createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise\ + +- 接口说明 + + 创建订阅者(Promise形式) + +- createSubscriber参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------- | -------- | ------------------------------------------ | ---- | ------------ | + | subscribeInfo | 只读 | [CommonEventSubscribeInfo](#SubscribeInfo) | 是 | 表示订阅信息 | + +- 返回值 + + Promise\<[CommonEventSubscriber](#Subscriber)> + + 订阅者对象 + +- 示例 + +```js +var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 +//订阅者信息 +var subscribeInfo = { + events: ["event"] +}; +//创建订阅者 +CommonEvent.createSubscriber(subscribeInfo).then((data) => { + console.info("==========================>createSubscriberPromise=======================>"); + subscriber = data; +}); +``` + + + +## CommonEvent.subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback\): void + +- 接口说明 + + 订阅公共事件(callback形式) + +- subscribe参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---------- | -------- | --------------------------------------------------- | ---- | ------------------------------ | + | subscriber | 只读 | [CommonEventSubscriber](#Subscriber) | 是 | 表示订阅者对象 | + | callback | 只读 | AsyncCallback\<[CommonEventData](#CommonEventData)> | 是 | 表示接收公共事件数据的回调函数 | + +- 示例 + + 无序事件: + + +```js +var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 +//订阅者信息 +var subscribeInfo = { + events: ["event"] +}; +//订阅公共事件回调 +function SubscribeCallBack(err, data) { + console.info("==========================>SubscribeCallBack=======================>"); +} +//创建订阅者回调 +function CreateSubscriberCallBack(err, data) { + console.info("==========================>CreateSubscriberCallBack=======================>"); + subscriber = data; + //订阅公共事件 + CommonEvent.subscribe(subscriber, SubscribeCallBack); +} +//创建订阅者 +CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); +``` + +​ 有序事件: + +```js +var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 +//订阅者信息 +var subscribeInfo = { + events: ["event"] +}; + +//设置有序公共事件的结果代码回调 +function SetCodeCallBack(err) { + console.info("==========================>SetCodeCallBack=======================>"); +} +//设置有序公共事件的结果数据回调 +function SetDataCallBack(err) { + console.info("==========================>SetDataCallBack=======================>"); +} +//完成本次有序公共事件处理回调 +function FinishCommonEventCallBack(err) { + console.info("==========================>FinishCommonEventCallBack=======================>"); +} +//订阅公共事件回调 +function SubscribeCallBack(err, data) { + console.info("==========================>SubscribeCallBack=======================>"); + //设置有序公共事件的结果代码 + subscriber.setCode(0, SetCodeCallBack); + //设置有序公共事件的结果数据 + subscriber.setData("publish_data_changed", SetDataCallBack); + //完成本次有序公共事件处理 + subscriber.finishCommonEvent(FinishCommonEventCallBack) +} + +//创建订阅者回调 +function CreateSubscriberCallBack(err, data) { + console.info("==========================>CreateSubscriberCallBack=======================>"); + subscriber = data; + //订阅公共事件 + CommonEvent.subscribe(subscriber, SubscribeCallBack); +} + +//创建订阅者 +CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); +``` + +​ + +## CommonEvent.unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback\): void + +- 接口说明 + + 取消订阅公共事件(callback形式) + +- unsubscribe参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---------- | -------- | --------------------- | ---- | ---------------------- | + | subscriber | 只读 | CommonEventSubscriber | 是 | 表示订阅者对象 | + | callback | 只读 | AsyncCallback\ | 是 | 表示取消订阅的回调方法 | + +- 示例 + +```js +var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 +//订阅者信息 +var subscribeInfo = { + events: ["event"] +}; +//订阅公共事件回调 +function SubscribeCallBack(err, data) { + console.info("==========================>SubscribeCallBack=======================>"); +} +//创建订阅者回调 +function CreateSubscriberCallBack(err, data) { + console.info("==========================>CreateSubscriberCallBack=======================>"); + subscriber = data; + //订阅公共事件 + CommonEvent.subscribe(subscriber, SubscribeCallBack); +} +//取消订阅公共事件回调 +function UnsubscribeCallBack(err) { + console.info("==========================>UnsubscribeCallBack=======================>"); +} +//创建订阅者 +CommonEvent.createSubscriber(subscribeInfo, CreateSubscriberCallBack); +//取消订阅公共事件 +CommonEvent.unsubscribe(subscriber, UnsubscribeCallBack); +``` + +## CommonEventPublishData + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------------------- | -------- | -------------------- | ---- | ---------------------------- | +| bundleName | 只读 | string | 否 | 表示包名称 | +| code | 只读 | number | 否 | 表示公共事件的结果代码 | +| data | 只读 | string | 否 | 表示公共事件的自定义结果数据 | +| subscriberPermissions | 只读 | Array\ | 否 | 表示订阅者的权限 | +| isOrdered | 只读 | boolean | 否 | 表示是否是有序事件 | +| parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 | + +## CommonEventSubscribeInfo + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------------------- | -------- | -------------- | ---- | ------------------------------------------------------------ | +| events | 只读 | Array\ | 是 | 表示要发送的公共事件 | +| publisherPermission | 只读 | string | 否 | 表示发布者的权限 | +| publisherDeviceId | 只读 | string | 否 | 表示设备ID,该值必须是同一ohos网络上的现有设备ID | +| userId | 只读 | number | 否 | 表示用户ID。此参数是可选的,默认值当前用户的ID。如果指定了此参数,则该值必须是系统中现有的用户ID。 | +| priority | 只读 | number | 否 | 表示订阅者的优先级。值的范围是-100到1000 | + +## CommonEventData + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | -------------------- | ---- | ------------------------------------------------------ | +| event | 只读 | string | 是 | 表示当前接收的公共事件名称 | +| bundleName | 只读 | string | 否 | 表示包名称 | +| code | 只读 | number | 否 | 表示公共事件的结果代码,用于传递int类型的数据 | +| data | 只读 | string | 否 | 表示公共事件的自定义结果数据,用于传递string类型的数据 | +| parameters | 只读 | {[key: string]: any} | 否 | 表示公共事件的附加信息 | + +## CommonEventSubscriber + +### getCode(callback形式) + +- 方法说明 + + 获取公共事件的结果代码(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | ---------------------- | ---- | ------------------ | + | callback | AsyncCallback\ | 是 | 公共事件的结果代码 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function getCodeCallback(err, data) { + console.info("==========================>getCodeCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + console.info("==========================>code:=======================>", data); + } + subscriber.getCode(getCodeCallback); + ``` + +### getCode(Promise形式) + +- 方法说明 + + 获取公共事件的结果代码(Promise形式) + +- 返回值 + + | 类型 | 说明 | + | ---------------- | ------------------ | + | Promise\ | 公共事件的结果代码 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.getCode().then((data) => { + console.info("==========================>getCodePromise=======================>"); + console.info("==========================>code:=======================>", data); + }); + ``` + +### setCode(callback形式) + +- 方法说明 + + 设置公共事件的结果代码(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | -------------------- | ---- | -------------------- | + | code | number | 是 | 公共事件的结果代码 | + | callback | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function setCodeCallback(err) { + console.info("==========================>setCodeCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + } + subscriber.setCode(1, setCodeCallback); + ``` + +### setCode(Promise形式) + +- 方法说明 + + 设置公共事件的结果代码(Promise形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | ------ | ------ | ---- | ------------------ | + | code | number | 是 | 公共事件的结果代码 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.setCode(1).then(() => { + console.info("==========================>setCodePromise=======================>"); + }); + ``` + +### getData(callback形式) + +- 方法说明 + + 获取公共事件的结果数据(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | ---------------------- | ---- | ------------------ | + | callback | AsyncCallback\ | 是 | 公共事件的结果数据 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function getDataCallback(err, data) { + console.info("==========================>getDataCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + console.info("==========================>data:=======================>", data); + } + subscriber.getData(getDataCallback); + ``` + +### getData(Promise形式) + +- 方法说明 + + 获取公共事件的结果数据(Promise形式) + +- 返回值 + + | 类型 | 说明 | + | ---------------- | ------------------ | + | Promise\ | 公共事件的结果数据 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.getData().then((data) => { + console.info("==========================>getDataPromise=======================>"); + console.info("==========================>data:=======================>", data); + }); + ``` + +### setData(callback形式) + +- 方法说明 + + 设置公共事件的结果数据(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | -------------------- | ---- | -------------------- | + | data | string | 是 | 公共事件的结果数据 | + | callback | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function setDataCallback(err) { + console.info("==========================>setDataCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + } + subscriber.setData("publish_data_changed", setDataCallback); + ``` + +### setData(Promise形式) + +- 方法说明 + + 设置公共事件的结果数据(Promise形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | ------ | ------ | ---- | ------------------ | + | data | string | 是 | 公共事件的结果数据 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.setData("publish_data_changed").then(() => { + console.info("==========================>setDataPromise=======================>"); + }); + ``` + +### setCodeAndData(callback形式) + +- 方法说明 + + 设置公共事件的结果代码和结果数据(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | -------------------- | ---- | -------------------- | + | code | number | 是 | 公共事件的结果代码 | + | data | string | 是 | 公共事件的结果数据 | + | callback | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function setCodeDataCallback(err) { + console.info("==========================>setCodeDataCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + } + subscriber.setCodeAndData(1, "publish_data_changed", setCodeDataCallback); + ``` + +### setCodeAndData(Promise形式) + +- 方法说明 + + 设置公共事件的结果代码和结果数据(Promise形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | ------ | ------ | ---- | ------------------ | + | code | number | 是 | 公共事件的结果代码 | + | data | string | 是 | 公共事件的结果数据 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.setCodeAndData(1, "publish_data_changed").then(() => { + console.info("==========================>setCodeAndData=======================>"); + }); + ``` + +### isOrderedCommonEvent(callback形式) + +- 方法说明 + + 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | ----------------------- | ---- | -------------------------------- | + | callback | AsyncCallback\ | 是 | 当前公共事件的是否为有序公共事件 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function isOrderedCallback(err, data) { + console.info("==========================>isOrderedCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + console.info("==========================>isOrdered:=======================>", data); + } + subscriber.isOrderedCommonEvent(isOrderedCallback); + ``` + +### isOrderedCommonEvent(Promise形式) + +- 方法说明 + + 查询当前公共事件的是否为有序公共事件,返回true代表是有序公共事件,false代表不是有序公共事件(Promise形式) + +- 返回值 + + | 类型 | 说明 | + | ----------------- | -------------------------------- | + | Promise\ | 当前公共事件的是否为有序公共事件 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.isOrderedCommonEvent().then((data) => { + console.info("==========================>isOrdered:=======================>", data); + }); + ``` + +### abortCommonEvent(callback形式) + +- 方法说明 + + 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | ----------------------- | ---- | ------------------ | + | callback | AsyncCallback\ | 是 | 取消当前的公共事件 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function abortCallback(err) { + console.info("==========================>abortCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + } + subscriber.abortCommonEvent(abortCallback); + ``` + +### abortCommonEvent(Promise形式) + +- 方法说明 + + 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式) + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.abortCommonEvent().then(() => { + console.info("==========================>abortCommonEvent:=======================>"); + }); + ``` + +### clearAbortCommonEvent(callback形式) + +- 方法说明 + + 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | -------------------- | ---- | -------------------- | + | callback | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function clearAbortCallback(err) { + console.info("==========================>clearAbortCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + } + subscriber.clearAbortCommonEvent(clearAbortCallback); + ``` + +### clearAbortCommonEvent(Promise形式) + +- 方法说明 + + 取消当前的公共事件,仅对有序公共事件有效,取消后,公共事件不再向下一个订阅者传递(Promise形式) + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.clearAbortCommonEvent().then(() => { + console.info("==========================>clearAbortCommonEvent:=======================>"); + }); + ``` + +### getAbortCommonEvent(callback形式) + +- 方法说明 + + 获取当前有序公共事件是否取消的状态(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | ----------------------- | ---- | ---------------------------------- | + | callback | AsyncCallback\ | 是 | 表示当前有序公共事件是否取消的状态 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function getAbortCallback(err, data) { + console.info("==========================>getAbortCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + console.info("==========================>abort:=======================>", data); + } + subscriber.getAbortCommonEvent(getAbortCallback); + ``` + +### getAbortCommonEvent(Promise形式) + +- 方法说明 + + 获取当前有序公共事件是否取消的状态(Promise形式) + +- 返回值 + + | 类型 | 说明 | + | ----------------- | ---------------------------------- | + | Promise\ | 表示当前有序公共事件是否取消的状态 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.getAbortCommonEvent().then((data) => { + console.info("==========================>getAbortCommonEvent:=======================>"); + console.info("==========================>abort:=======================>", data); + }); + ``` + +### getSubscribeInfo(callback形式) + +- 方法说明 + + 获取订阅者的订阅信息(callback形式) + +- 参数 + + | 参数名 | 类型 | 必填 | 描述 | + | -------- | ---------------------------------------- | ---- | -------------------- | + | callback | AsyncCallback\ | 是 | 表示订阅者的订阅信息 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + //设置有序公共事件的结果数据回调 + function getSubscribeInfoCallback(err, data) { + console.info("==========================>getSubscribeInfoCallback=======================>"); + console.info("==========================>err:=======================>", err.code); + console.info("==========================>priority:=======================>", data.priority); + } + subscriber.getSubscribeInfo(getSubscribeInfoCallback); + ``` + +### getSubscribeInfo(Promise形式) + +- 方法说明 + + 获取订阅者的订阅信息(Promise形式) + +- 返回值 + + | 类型 | 说明 | + | ---------------------------------- | -------------------- | + | Promise\ | 表示订阅者的订阅信息 | + +- 示例 + + ```js + var subscriber; //用于保存创建成功的订阅者对象,后续使用其完成订阅及退订的动作 + subscriber.getSubscribeInfo().then((data) => { + console.info("==========================>getSubscribeInfo:=======================>"); + console.info("==========================>priority:=======================>", data.priority); + }); + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-dataAbilityHelper.md b/zh-cn/application-dev/reference/apis/js-apis-dataAbilityHelper.md index cb1e3f454b866a4ff5e11fec56833a2c74129001..a9aff0e61ff2541e5f16b834c8f12beaa40e0f89 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-dataAbilityHelper.md +++ b/zh-cn/application-dev/reference/apis/js-apis-dataAbilityHelper.md @@ -1,837 +1,866 @@ -### DataAbilityHelper模块(JS端SDK接口) - -#### 支持设备 - -| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | -| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | -| DataAbilityHelper.openFile(uri: string, mode: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.openFile(uri: string, mode: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.on(type: 'dataChange', uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.off(type: 'dataChange', uri: string, callback?: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.getType(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.getType(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.normalizeUri(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.normalizeUri(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.denormalizeUri(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.denormalizeUri(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.notifyChange(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.notifyChange(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | - -#### 权限列表 - -ohos.permission.RUNNING_LOCK permission - -#### 导入模块 - -``` -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataability' -import ohos_data_rdb from '@ohos.data.rdb' -``` - -#### DataAbilityHelper.openFile(uri: string, mode: string, callback: AsyncCallback\) - -- 接口说明 - - 在指定的远程路径中打开文件(callback形式) - - -* 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | -------------------- | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要打开的文件的路径。 | - | mode | 只读 | string | 是 | 指示文件打开模式‘rwt’。 | - | callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -* 返回值 - - 返回文件描述符。 - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -var mode = "rwt"; -DAHelper.openFile( - "dataability:///com.example.DataAbility", - mode, -) -``` - -#### DataAbilityHelper.openFile(uri: string, mode: string) - -- 接口说明 - - 在指定的远程路径中打开文件(Promise形式) - -* 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要打开的文件的路径。 | - | mode | 只读 | string | 是 | 指示文件打开模式‘rwt’。 | - -* 返回值 - - 返回文件描述符。 - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -var mode = "rwt"; -DAHelper.openFile( - "dataability:///com.example.DataAbility", - mode).then((void) => { - console.info("==========================>openFileCallback=======================>"); -}); -``` - -#### DataAbilityHelper.on(type: 'dataChange', uri: string, callback: AsyncCallback\) - -- 接口说明 - - 注册观察者以观察给定uri指定的数据(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | -------------------- | ---- | ------------------------ | - | type | 只读 | string | 是 | 数据更改。 | - | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | - | callback | 只读 | AsyncCallback\ | 是 | 指示数据更改时的回调。 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var helper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -helper.on( - "dataChange", - "dataability:///com.example.DataAbility", -) -``` - -#### DataAbilityHelper.off(type: 'dataChange', uri: string, callback?: AsyncCallback\) - -- 接口说明 - - 注册观察者以观察给定uri指定的数据(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | -------------------- | ---- | ------------------------ | - | type | 只读 | string | 是 | 数据更改。 | - | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | - | callback | 只读 | AsyncCallback\ | 否 | 指示已注册的回调。 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var helper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -helper.off( - "dataChange", - "dataability:///com.example.DataAbility", -) -``` - -#### DataAbilityHelper.getType(uri: string, callback: AsyncCallback\) - -- 接口说明 - - 获取给定URI指定的日期的MIME类型(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回与uri指定的数据匹配的MIME类型。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.getType( - "dataability:///com.example.DataAbility" -) -``` - -#### DataAbilityHelper.getType(uri: string) - -- 接口说明 - - 获取给定URI指定的日期的MIME类型(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | - -- 返回值 - - 返回与uri指定的数据匹配的MIME类型。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.getType( - "dataability:///com.example.DataAbility" - ).then((void) => { - console.info("==========================>getTypeCallback=======================>"); -}); -``` - -#### DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback>) - -- 接口说明 - - 获取支持的文件的MIME类型(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------------- | -------- | ---------------------- | ---- | ---------------------------- | - | uri | 只读 | string | 是 | 指示要获取的文件的路径。 | - | mimeTypeFilter | 只读 | string | 是 | 指示要获取的文件的MIME类型。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回匹配的MIME类型数组。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.getFileTypes( - "dataability:///com.example.DataAbility", - "image/*" -) -``` - -#### DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string) - -- 接口说明 - - 获取支持的文件的MIME类型(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------------- | -------- | ------ | ---- | ---------------------------- | - | uri | 只读 | string | 是 | 指示要获取的文件的路径。 | - | mimeTypeFilter | 只读 | string | 是 | 指示要获取的文件的MIME类型。 | - -- 返回值 - - 返回匹配的MIME类型数组。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.getFileTypes( - "dataability:///com.example.DataAbility", - "image/*" - ).then((void) => { - console.info("==========================>getFileTypesCallback=======================>"); -}); -``` - -#### DataAbilityHelper.normalizeUri(uri: string, callback: AsyncCallback\) - -- 接口说明 - - 将引用数据功能的给定uri转换为规范化uri(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ----------------------- | - | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 如果数据功能支持uri规范化或null,则返回规范化uri对象。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.normalizeUri( - "dataability:///com.example.DataAbility", -) -``` - -#### DataAbilityHelper.normalizeUri(uri: string) - -- 接口说明 - - 将引用数据功能的给定uri转换为规范化uri(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ----------------------- | - | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | - -- 返回值 - - 如果数据功能支持uri规范化或null,则返回规范化uri对象。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.normalizeUri( - "dataability:///com.example.DataAbility", - ).then((void) => { - console.info("==========================>normalizeUriCallback=======================>"); -}); -``` - -#### DataAbilityHelper.denormalizeUri(uri: string, callback: AsyncCallback\) - -- 接口说明 - - 将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ---------------------- | ---- | ----------------------- | - | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 如果反规范化成功,则返回反规范化uri对象。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.denormalizeUri( - "dataability:///com.example.DataAbility", -) -``` - -#### DataAbilityHelper.denormalizeUri(uri: string) - -- 接口说明 - - 将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ----------------------- | - | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | - -- 返回值 - - 如果反规范化成功,则返回反规范化uri对象。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.denormalizeUri( - "dataability:///com.example.DataAbility", - ).then((void) => { - console.info("==========================>denormalizeUriCallback=======================>"); -}); -``` - -#### DataAbilityHelper.notifyChange(uri: string, callback: AsyncCallback\) - -- 接口说明 - - 通知已注册的观察者uri指定的数据资源的更改(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | -------------------- | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var helper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -helper.notifyChange( - "dataability:///com.example.DataAbility", -) -``` - -#### DataAbilityHelper.notifyChange(uri: string) - -- 接口说明 - - 通知已注册的观察者uri指定的数据资源的更改(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -DAHelper.notifyChange( - "dataability:///com.example.DataAbility", - ).then((void) => { - console.info("==========================>notifyChangeCallback=======================>"); -}); -``` - -#### DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\) - -- 接口说明 - - 将单个数据记录插入数据库(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | ---------------------- | ---- | ------------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | - | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回插入数据记录的索引。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -const valueBucket = { - "name": "rose", - "age": 22, - "salary": 200.5, - "blobType": u8, -} -DAHelper.insert( - "dataability:///com.example.DataAbility", - valueBucket -) -``` - -#### DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket) - -- 接口说明 - - 将单个数据记录插入数据库(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | ---------------- | ---- | ------------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | - | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | - -- 返回值 - - 返回插入数据记录的索引。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -const valueBucket = { - "name": "rose1", - "age": 221, - "salary": 20.5, - "blobType": u8, -} -DAHelper.insert( - "dataability:///com.example.DataAbility", - valueBucket - ).then((void) => { - console.info("==========================>insertCallback=======================>"); -}); -``` - -#### DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array, callback: AsyncCallback\) - -- 接口说明 - - 将多个数据记录插入数据库(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | ----------------------- | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | - | valuesBucket | 只读 | Array | 是 | 指示要插入的数据记录。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回插入的数据记录数。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, - {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, - {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) -DAHelper.batchInsert( - "dataability:///com.example.DataAbility", - cars -) -``` - -#### DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array) - -- 接口说明 - - 将多个数据记录插入数据库(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | ----------------------- | ---- | ------------------------ | - | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | - | valuesBucket | 只读 | Array | 是 | 指示要插入的数据记录。 | - -- 返回值 - - 返回插入的数据记录数。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, - {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, - {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) -DAHelper.batchInsert( - "dataability:///com.example.DataAbility", - cars - ).then((void) => { - console.info("==========================>batchInsertCallback=======================>"); -}); -``` - -#### DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) - -- 接口说明 - - 从数据库中删除一个或多个数据记录(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要删除的数据的路径。 | - | valuesBucket | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回已删除的数据记录数。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataability' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.delete( - "dataability:///com.example.DataAbility", - da -) -``` - -#### DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates) - -- 接口说明 - - 从数据库中删除一个或多个数据记录(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要删除的数据的路径。 | - | valuesBucket | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | - -- 返回值 - - 返回已删除的数据记录数。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.delete( - "dataability:///com.example.DataAbility", - da - ).then((void) => { - console.info("==========================>deleteCallback=======================>"); -}); -``` - -#### DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) - -- 接口说明 - - 更新数据库中的数据记录(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要更新的数据的路径。 | - | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要更新的数据。 | - | predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回更新的数据记录数。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataability' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -const va = { - "name": "roe1", - "age": 21, - "salary": 20.5, - "blobType": u8, -} -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.update( - "dataability:///com.example.DataAbility", - va, - da -) -``` - -#### DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates) - -- 接口说明 - - 更新数据库中的数据记录(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要更新的数据的路径。 | - | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要更新的数据。 | - | predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | - -- 返回值 - - 返回更新的数据记录数。 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataability' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -const va = { - "name": "roe1", - "age": 21, - "salary": 20.5, - "blobType": u8, -} -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.update( - "dataability:///com.example.DataAbility", - va, - da - ).then((void) => { - console.info("==========================>updateCallback=======================>"); -}); -``` - -#### DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) - -- 接口说明 - - 查询数据库中的数据(callback形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---------- | -------- | --------------------------------- | ---- | ------------------------------------------------ | - | uri | 只读 | string | 是 | 指示要查询的数据的路径。 | - | columns | 只读 | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | - | predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | - | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | - -- 返回值 - - 返回查询结果 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataability' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -var cars=new Array({"value1"}, {"value2"}, {"value3"}, {"value4"}); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.query( - "dataability:///com.example.DataAbility", - cars, - da -) -``` - - - -#### DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates) - -- 接口说明 - - 查询数据库中的数据(Promise形式) - -- 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---------- | -------- | --------------------------------- | ---- | ------------------------------------------------ | - | uri | 读写 | string | 是 | 指示要查询的数据的路径。 | - | columns | 读写 | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | - | predicates | 读写 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | - -- 返回值 - - 返回查询结果 - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import ohos_data_ability from '@ohos.data.dataability' -var DAHelper = await featureAbility.getDataAbilityHelper( - "dataability:///com.example.DataAbility" -); -var cars=new Array({"value1"}, {"value2"}, {"value3"}, {"value4"}); -let da = new ohos_data_ability.DataAbilityPredicates() -DAHelper.query( - "dataability:///com.example.DataAbility", - cars, - da - ).then((void) => { - console.info("==========================>queryCallback=======================>"); -}); -``` - +### DataAbilityHelper模块(JS端SDK接口) + +#### 支持设备 + +| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | +| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | +| DataAbilityHelper.openFile(uri: string, mode: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.openFile(uri: string, mode: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.on(type: 'dataChange', uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.off(type: 'dataChange', uri: string, callback?: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback>) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.getType(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.getType(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.normalizeUri(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.normalizeUri(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.denormalizeUri(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.denormalizeUri(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.notifyChange(uri: string, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.notifyChange(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | + +#### 导入模块 + +``` +import featureAbility from '@ohos.ability.featureAbility' +import ohos_data_ability from '@ohos.data.dataability' +import ohos_data_rdb from '@ohos.data.rdb' +``` + +#### DataAbilityHelper.openFile(uri: string, mode: string, callback: AsyncCallback\) + +- 接口说明 + + 在指定的远程路径中打开文件(callback形式) + + +* 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | -------------------- | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要打开的文件的路径。 | + | mode | 只读 | string | 是 | 指示文件打开模式‘rwt’。 | + | callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + + 返回文件描述符。 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +var mode = "rwt"; +DAHelper.openFile( + "dataability:///com.example.DataAbility", + mode, + (err) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.openFile(uri: string, mode: string) + +- 接口说明 + + 在指定的远程路径中打开文件(Promise形式) + +* 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要打开的文件的路径。 | + | mode | 只读 | string | 是 | 指示文件打开模式‘rwt’。 | + +* 返回值 + + 返回文件描述符。 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +var mode = "rwt"; +DAHelper.openFile( + "dataability:///com.example.DataAbility", + mode).then((void) => { + console.info("==========================>openFileCallback=======================>"); +}); +``` + +#### DataAbilityHelper.on(type: 'dataChange', uri: string, callback: AsyncCallback\) + +- 接口说明 + + 注册观察者以观察给定uri指定的数据(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | -------------------- | ---- | ------------------------ | + | type | 只读 | string | 是 | 数据更改。 | + | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | + | callback | 只读 | AsyncCallback\ | 是 | 指示数据更改时的回调。 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var helper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +function onChangeNotify() { + console.info("==========================>onChangeNotify=======================>"); +}; +helper.on( + "dataChange", + "dataability:///com.example.DataAbility", + onChangeNotify +) +``` + +#### DataAbilityHelper.off(type: 'dataChange', uri: string, callback?: AsyncCallback\) + +- 接口说明 + + 注册观察者以观察给定uri指定的数据(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | -------------------- | ---- | ------------------------ | + | type | 只读 | string | 是 | 数据更改。 | + | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | + | callback | 只读 | AsyncCallback\ | 否 | 指示已注册的回调。 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var helper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +function onChangeNotify() { + console.info("==========================>onChangeNotify=======================>"); +}; +helper.off( + "dataChange", + "dataability:///com.example.DataAbility", +) +helper.off( + "dataChange", + "dataability:///com.example.DataAbility", + onChangeNotify +) +``` + +#### DataAbilityHelper.getType(uri: string, callback: AsyncCallback\) + +- 接口说明 + + 获取给定URI指定的日期的MIME类型(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 返回与uri指定的数据匹配的MIME类型。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.getType( + "dataability:///com.example.DataAbility", + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.getType(uri: string) + +- 接口说明 + + 获取给定URI指定的日期的MIME类型(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | + +- 返回值 + + 返回与uri指定的数据匹配的MIME类型。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.getType( + "dataability:///com.example.DataAbility" + ).then((data) => { + console.info("==========================>getTypeCallback=======================>"); +}); +``` + +#### DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string, callback: AsyncCallback>) + +- 接口说明 + + 获取支持的文件的MIME类型(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------------- | -------- | ------------------------------ | ---- | ---------------------------- | + | uri | 只读 | string | 是 | 指示要获取的文件的路径。 | + | mimeTypeFilter | 只读 | string | 是 | 指示要获取的文件的MIME类型。 | + | callback | 只读 | AsyncCallback\> | 是 | 回调方法 | + +- 返回值 + + 返回匹配的MIME类型数组。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.getFileTypes( + "dataability:///com.example.DataAbility", + "image/*", + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.getFileTypes(uri: string, mimeTypeFilter: string) + +- 接口说明 + + 获取支持的文件的MIME类型(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------------- | -------- | ------ | ---- | ---------------------------- | + | uri | 只读 | string | 是 | 指示要获取的文件的路径。 | + | mimeTypeFilter | 只读 | string | 是 | 指示要获取的文件的MIME类型。 | + +- 返回值 + + 返回匹配的MIME类型数组。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.getFileTypes( + "dataability:///com.example.DataAbility", + "image/*" + ).then((data) => { + console.info("==========================>getFileTypesCallback=======================>"); +}); +``` + +#### DataAbilityHelper.normalizeUri(uri: string, callback: AsyncCallback\) + +- 接口说明 + + 将引用数据功能的给定uri转换为规范化uri(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ----------------------- | + | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 如果数据功能支持uri规范化或null,则返回规范化uri对象。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.normalizeUri( + "dataability:///com.example.DataAbility", + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.normalizeUri(uri: string) + +- 接口说明 + + 将引用数据功能的给定uri转换为规范化uri(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ----------------------- | + | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | + +- 返回值 + + 如果数据功能支持uri规范化或null,则返回规范化uri对象。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.normalizeUri( + "dataability:///com.example.DataAbility", + ).then((data) => { + console.info("==========================>normalizeUriCallback=======================>"); +}); +``` + +#### DataAbilityHelper.denormalizeUri(uri: string, callback: AsyncCallback\) + +- 接口说明 + + 将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | ---------------------- | ---- | ----------------------- | + | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 如果反规范化成功,则返回反规范化uri对象。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.denormalizeUri( + "dataability:///com.example.DataAbility",, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.denormalizeUri(uri: string) + +- 接口说明 + + 将由normalizeUri(uri)生成的给定规范化uri转换为非规范化uri(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ----------------------- | + | uri | 只读 | string | 是 | 指示要规范化的uri对象。 | + +- 返回值 + + 如果反规范化成功,则返回反规范化uri对象。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.denormalizeUri( + "dataability:///com.example.DataAbility", + ).then((data) => { + console.info("==========================>denormalizeUriCallback=======================>"); +}); +``` + +#### DataAbilityHelper.notifyChange(uri: string, callback: AsyncCallback\) + +- 接口说明 + + 通知已注册的观察者uri指定的数据资源的更改(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | -------- | -------- | -------------------- | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var helper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +helper.notifyChange( + "dataability:///com.example.DataAbility",, + (err) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.notifyChange(uri: string) + +- 接口说明 + + 通知已注册的观察者uri指定的数据资源的更改(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---- | -------- | ------ | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要操作的数据的路径。 | + +- 返回值 + + void + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +DAHelper.notifyChange( + "dataability:///com.example.DataAbility", + ).then((void) => { + console.info("==========================>notifyChangeCallback=======================>"); +}); +``` + +#### DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket, callback: AsyncCallback\) + +- 接口说明 + + 将单个数据记录插入数据库(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | ---------------------- | ---- | ------------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | + | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 返回插入数据记录的索引。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +const valueBucket = { + "name": "rose", + "age": 22, + "salary": 200.5, + "blobType": u8, +} +DAHelper.insert( + "dataability:///com.example.DataAbility", + valueBucket, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.insert(uri: string, valuesBucket: rdb.ValuesBucket) + +- 接口说明 + + 将单个数据记录插入数据库(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | ---------------- | ---- | ------------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | + | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要插入的数据记录。如果此参数为空,将插入一个空行。 | + +- 返回值 + + 返回插入数据记录的索引。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +const valueBucket = { + "name": "rose1", + "age": 221, + "salary": 20.5, + "blobType": u8, +} +DAHelper.insert( + "dataability:///com.example.DataAbility", + valueBucket + ).then((data) => { + console.info("==========================>insertCallback=======================>"); +}); +``` + +#### DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array, callback: AsyncCallback\) + +- 接口说明 + + 将多个数据记录插入数据库(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | ----------------------- | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | + | valuesBucket | 只读 | Array | 是 | 指示要插入的数据记录。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 返回插入的数据记录数。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) +DAHelper.batchInsert( + "dataability:///com.example.DataAbility", + cars, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.batchInsert(uri: string, valuesBuckets: Array) + +- 接口说明 + + 将多个数据记录插入数据库(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | ----------------------- | ---- | ------------------------ | + | uri | 只读 | string | 是 | 指示要插入的数据的路径。 | + | valuesBucket | 只读 | Array | 是 | 指示要插入的数据记录。 | + +- 返回值 + + 返回插入的数据记录数。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +var cars = new Array({"name": "roe11", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe12", "age": 21, "salary": 20.5, "blobType": u8,}, + {"name": "roe13", "age": 21, "salary": 20.5, "blobType": u8,}) +DAHelper.batchInsert( + "dataability:///com.example.DataAbility", + cars + ).then((data) => { + console.info("==========================>batchInsertCallback=======================>"); +}); +``` + +#### DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) + +- 接口说明 + + 从数据库中删除一个或多个数据记录(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要删除的数据的路径。 | + | valuesBucket | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 返回已删除的数据记录数。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import ohos_data_ability from '@ohos.data.dataability' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +let da = new ohos_data_ability.DataAbilityPredicates() +DAHelper.delete( + "dataability:///com.example.DataAbility", + da, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.delete(uri: string, predicates: dataAbility.DataAbilityPredicates) + +- 接口说明 + + 从数据库中删除一个或多个数据记录(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要删除的数据的路径。 | + | valuesBucket | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + +- 返回值 + + 返回已删除的数据记录数。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +let da = new ohos_data_ability.DataAbilityPredicates() +DAHelper.delete( + "dataability:///com.example.DataAbility", + da + ).then((data) => { + console.info("==========================>deleteCallback=======================>"); +}); +``` + +#### DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) + +- 接口说明 + + 更新数据库中的数据记录(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要更新的数据的路径。 | + | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要更新的数据。 | + | predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 返回更新的数据记录数。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import ohos_data_ability from '@ohos.data.dataability' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +const va = { + "name": "roe1", + "age": 21, + "salary": 20.5, + "blobType": u8, +} +let da = new ohos_data_ability.DataAbilityPredicates() +DAHelper.update( + "dataability:///com.example.DataAbility", + va, + da, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + +#### DataAbilityHelper.update(uri: string, valuesBucket: rdb.ValuesBucket, predicates: dataAbility.DataAbilityPredicates) + +- 接口说明 + + 更新数据库中的数据记录(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ------------ | -------- | --------------------------------- | ---- | ------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要更新的数据的路径。 | + | valuesBucket | 只读 | rdb.ValuesBucket | 是 | 指示要更新的数据。 | + | predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + +- 返回值 + + 返回更新的数据记录数。 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import ohos_data_ability from '@ohos.data.dataability' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +const va = { + "name": "roe1", + "age": 21, + "salary": 20.5, + "blobType": u8, +} +let da = new ohos_data_ability.DataAbilityPredicates() +DAHelper.update( + "dataability:///com.example.DataAbility", + va, + da + ).then((data) => { + console.info("==========================>updateCallback=======================>"); +}); +``` + +#### DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates, callback: AsyncCallback\) + +- 接口说明 + + 查询数据库中的数据(callback形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---------- | -------- | --------------------------------- | ---- | ------------------------------------------------ | + | uri | 只读 | string | 是 | 指示要查询的数据的路径。 | + | columns | 只读 | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | + | predicates | 只读 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + | callback | 只读 | AsyncCallback\ | 是 | 回调方法 | + +- 返回值 + + 返回查询结果 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import ohos_data_ability from '@ohos.data.dataability' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +var cars=new Array({"value1"}, {"value2"}, {"value3"}, {"value4"}); +let da = new ohos_data_ability.DataAbilityPredicates() +DAHelper.query( + "dataability:///com.example.DataAbility", + cars, + da, + (err, data) => { + console.info("==========================>Called=======================>"); +}); +``` + + + +#### DataAbilityHelper.query(uri: string, columns: Array\, predicates: dataAbility.DataAbilityPredicates) + +- 接口说明 + + 查询数据库中的数据(Promise形式) + +- 参数描述 + + | 名称 | 读写属性 | 类型 | 必填 | 描述 | + | ---------- | -------- | --------------------------------- | ---- | ------------------------------------------------ | + | uri | 读写 | string | 是 | 指示要查询的数据的路径。 | + | columns | 读写 | rdb.ValuesBucket | 是 | 指示要查询的列。如果此参数为空,则查询所有列。 | + | predicates | 读写 | dataAbility.DataAbilityPredicates | 是 | 指示筛选条件。当此参数为null时,应定义处理逻辑。 | + +- 返回值 + + 返回查询结果 + +- 示例 + +```js +import featureAbility from '@ohos.ability.featureAbility' +import ohos_data_ability from '@ohos.data.dataability' +var DAHelper = featureAbility.acquireDataAbilityHelper( + "dataability:///com.example.DataAbility" +); +var cars=new Array({"value1"}, {"value2"}, {"value3"}, {"value4"}); +let da = new ohos_data_ability.DataAbilityPredicates() +DAHelper.query( + "dataability:///com.example.DataAbility", + cars, + da + ).then((data) => { + console.info("==========================>queryCallback=======================>"); +}); +``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md b/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md index e867008e4d8f9a93f0f2fd4adf5bb0b7921a7501..22a5995a9bf64cc704961a9a4779caee1c609972 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-featureAbility.md @@ -1,963 +1,702 @@ -# FeatureAbility模块(JS端SDK接口) - -#### 支持设备 - -| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | -| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | -| FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.startAbility(parameter: StartAbilityParameter) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.acquireDataAbilityHelper(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.terminateSelfWithResult(parameter: AbilityResult) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.hasWindowFocus(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.hasWindowFocus() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.getWant(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.getWant() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.getContext() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.terminateSelf(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.terminateSelf() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| FeatureAbility.continueAbility(options: ContinueAbilityOptions, callback: AsyncCallback) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | - -#### 权限列表 - -ohos.permission.RUNNING_LOCK permission - -#### 使用限制 - -FeatureAbility模块的接口只能在Page类型的Ability调用 - -#### 导入模块 - -``` -import featureAbility from '@ohos.ability.featureAbility' -``` - -#### FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\) - -* 接口说明 - - 启动新的ability(callback形式) - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | --------------------- | ---- | ------------------- | -| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability | -| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 | - -- StartAbilityParameter类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------------- | -------- | ------ | ---- | ---------------------------------- | -| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 | -| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -* flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -featureAbility.startAbility( - { - want: - { - action: "", - entities: [""], - type: "", - flags: FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.startability", - abilityName: "com.example.startability.MainAbility", - uri: "" - }, - }, - ); -) -``` - - - -#### FeatureAbility.startAbility(parameter: StartAbilityParameter) - -* 接口说明 - - 启动新的ability(Promise形式) - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | --------------------- | ---- | ------------------- | -| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability | - -- StartAbilityParameter类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------------- | -------- | ------ | ---- | ---------------------------------- | -| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 | -| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 表示被启动的PageAbility的设备id,缺省表示启动本地的PageAbility | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -* flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -featureAbility.startAbility( - { - want: - { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", - flags: FLAG_AUTH_READ_URI_PERMISSION, - deviceId: deviceId, - bundleName: "com.example.startability", - abilityName: "com.example.startability.MainAbility", - uri: "" - }, - } - ).then((void) => { - console.info("==========================>startAbility=======================>"); -}); -``` - - - -#### FeatureAbility.acquireDataAbilityHelper(uri: string) - -* 接口说明 - - 获取dataAbilityHelper - -* 参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ---- | -------- | ------ | ---- | ---------------------- | - | uri | 只读 | string | 是 | 指示要打开的文件的路径 | - -* 返回值 - - 返回dataAbilityHelper - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -featureAbility.acquireDataAbilityHelper( - "dataability:///com.exmaple.DataAbility" -) -``` - - - -#### FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback\) - -* 接口说明 - - 启动一个ability,并在该ability被销毁时返回执行结果(callback形式) - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | ---------------------- | ---- | ------------------- | -| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -- StartAbilityParameter类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------------- | -------- | ------ | ---- | ---------------------------------- | -| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 | -| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -* flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -* 返回值 - - 返回{@link AbilityResult} - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.startAbilityForResult( - { - want: - { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", - flags: FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.featureabilitytest", - abilityName: "com.example.startabilityforresulttest1.MainAbility", - uri:"" - }, - }, -) -``` - - - -#### FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter) - -* 接口说明 - - 启动一个ability,并在该ability被销毁时返回执行结果(Promise形式) - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | --------------------- | ---- | ------------------- | -| parameter | 只读 | StartAbilityParameter | 是 | 表示被启动的Ability | - -- StartAbilityParameter类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------------- | -------- | ------ | ---- | ---------------------------------- | -| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 | -| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -* flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -* 返回值 - - 返回{@link AbilityResult} - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.startAbilityForResult( - { - want: - { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", - flags: FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.featureabilitytest", - abilityName: "com.example.startabilityforresulttest2.MainAbility", - uri:"", - parameters: - { - mykey0: 1111, - mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "xxxxxxxxxxxxxxxxxxxxxx", - mykey4: [1, 15], - mykey5: [false, true, false], - mykey6: ["aaaaaa", "bbbbb", "ccccccccccc"], - mykey7: true, - }, - }, - requestCode: 2, - }, -).then((void) => { - console.info("==========================>startAbilityForResult=======================>"); -}); -``` - - - -#### FeatureAbility.terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback\) - -* 接口说明 - - 设置此page ability将返回给调用者的结果代码和数据并破坏此page ability(callback形式) - - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | ------------- | ---- | ------------------- | -| parameter | 只读 | AbilityResult | 是 | 表示被启动的Ability | -| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 | - - -* AbilityResult类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------ | ---- | ------------------------------------------------------------ | -| resultCode | 只读 | number | 是 | 指示销毁该能力后返回的结果代码。您可以定义结果代码来识别错误(暂不支持) | -| want | 只读 | Want | 否 | 指示销毁该能力后返回的数据。您可以定义返回的数据。此参数可以为null。 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -* flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -featureAbility.terminateSelfWithResult( - { - resultCode: 1, - want: - { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", - flags: FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.featureabilitytest", - abilityName: "com.example.finishwithresulttest1.MainAbility", - uri:"", - parameters: { - mykey0: 2222, - mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", - mykey4: [1, 15], - mykey5: [false, true, false], - mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], - mykey7: true, - } - }, - }, -); -``` - - - -#### FeatureAbility.terminateSelfWithResult(parameter: AbilityResult) - -* 接口说明 - - 设置此page ability将返回给调用者的结果代码和数据并破坏此page ability(Promise形式) - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | ------------- | ---- | ------------------- | -| parameter | 只读 | AbilityResult | 是 | 表示被启动的Ability | - - -* AbilityResult类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------ | ---- | ------------------------------------------------------------ | -| resultCode | 只读 | number | 是 | 指示销毁该能力后返回的结果代码。您可以定义结果代码来识别错误(暂不支持) | -| want | 只读 | Want | 否 | 指示销毁该能力后返回的数据。您可以定义返回的数据。此参数可以为null。 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -* flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.terminateSelfWithResult( - { - resultCode: 1, - want: - { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", - flags: FLAG_AUTH_READ_URI_PERMISSION, - deviceId: "", - bundleName: "com.example.featureabilitytest", - abilityName: "com.example.finishwithresulttest1.MainAbility", - uri:"", - parameters: { - mykey0: 2222, - mykey1: [1, 2, 3], - mykey2: "[1, 2, 3]", - mykey3: "ssssssssssssssssssssssssss", - mykey4: [1, 15], - mykey5: [false, true, false], - mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], - mykey7: true, - } - }, - } -).then((void) => { - console.info("==========================>terminateSelfWithResult=======================>"); -}); -``` - - - -#### FeatureAbility.hasWindowFocus(callback: AsyncCallback\) - -* 接口说明 - - 检查ability的主窗口是否具有窗口焦点(callback形式) - -* 参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | ----------------------- | ---- | ---------------- | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -* 返回值 - - 如果此异能当前具有视窗焦点,则返回{@code true};否则返回{@code false} - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.hasWindowFocus() -``` - - - -#### FeatureAbility.hasWindowFocus() - -* 接口说明 - - 检查ability的主窗口是否具有窗口焦点(Promise形式) - -* 参数描述 - - Null - -* 返回值 - - 如果此异能当前具有视窗焦点,则返回{@code true};否则返回{@code false} - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.hasWindowFocus().then((void) => { - console.info("==========================>hasWindowFocus=======================>"); -}); -``` - - - -#### FeatureAbility.getWant(callback: AsyncCallback\) - -* 接口说明 - - 获取从ability发送的want(callback形式) - -* 参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | -------------------- | ---- | ---------------- | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.getWant() -``` - - - -#### FeatureAbility.getWant() - -* 接口说明 - - 获取从ability发送的want(Promise形式) - -* 参数描述 - - Null - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.getWant().then((void) => { - console.info("==========================>getWantCallBack=======================>"); -}); -``` - - - -#### FeatureAbility.getContext() - -* 接口说明 - - 获取应用程序上下文 - -* 返回值 - - 返回应用程序上下文 - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -var context = featureAbility.getContext() -context.getBundleName() -``` - - - -#### FeatureAbility.terminateSelf(callback: AsyncCallback\) - -* 接口说明 - - 设置page ability返回给被调用方的结果代码和数据,并销毁此page ability(callback形式) - -* 参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | -------------------- | ---- | ---------------- | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -* 返回值 - - void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.terminateSelf() -``` - - - -#### FeatureAbility.terminateSelf() - -* 接口说明 - - 设置page ability返回给被调用方的结果代码和数据,并销毁此page ability(Promise形式) - -* 参数描述 - - Null - -* 返回值 - -* void - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureability'; -featureAbility.terminateSelf().then((void) => { console.info("==========================>terminateSelfCallBack=======================>"); -}); -``` - -#### FeatureAbility.connectAbility(*request*: Want, *options*:ConnectOptions): number - -* 接口说明 - - 将当前ability连接到指定ServiceAbility(callback形式) - -* connectAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------- | -------- | -------------- | ---- | -------------------------- | -| request | 只读 | Want | 是 | 表示被连接的ServiceAbility | -| options | 只读 | ConnectOptions | 是 | 被指定的回调方法 | - -* Want参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------ | -------- | -------- | ---- | ---------------------------------- | -| deviceId | 只读 | string | 否 | 表示被连接的ServiceAbility的设备id,缺省表示连接本地的ServiceAbility | -| bundleName | 只读 | string | 是 | 表示被连接的ServiceAbility的包名 | -| abilityName | 只读 | string | 是 | 表示被连接的ServiceAbility的类名 | - -- ConnectOptions类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------ | -------- | -------- | ---- | ---------------------------------- | -| onConnect | 只读 | function | 是 | 连接成功时的回调函数 | -| onDisconnect | 只读 | function | 是 | 连接失败时的回调函数 | -| onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数 | - -* 返回值 - - 连接的ServiceAbilityID。 - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -var mRemote; -var connId; -function onConnectCallback(element, remote){ - mRemote = remote; - console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); -} -function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) -} -function onFailedCallback(code){ - console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) -} -var connId = featureAbility.connectAbility( - { - deviceId: deviceId, - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", - }, - { - onConnect: onConnectCallback, - onDisconnect: onDisconnectCallback, - onFailed: onFailedCallback, - }, -); -``` - -#### FeatureAbility.disconnectAbility(connection: number, callback:AsyncCallback): void - -* 接口说明 - - 断开与指定ServiceAbility的连接(callback形式) - -* disconnectAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------------- | ---- | ------------------------------ | -| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | -| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 | - -* 返回值 - - 无 - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -var mRemote; -var connId; -function onConnectCallback(element, remote){ - mRemote = remote; - console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); -} -function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) -} -function onFailedCallback(code){ - console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) -} -var connId = featureAbility.connectAbility( - { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", - }, - { - onConnect: onConnectCallback, - onDisconnect: onDisconnectCallback, - onFailed: onFailedCallback, - }, -); -var result = featureAbility.disconnectAbility(connId, - (error,data) => { - console.log('featureAbilityTest DisConnectJsSameBundleName result errCode : ' + error.code + " data: " + data) - }, -); -``` - -#### FeatureAbility.disconnectAbility(connection: number): Promise; - -* 接口说明 - - 断开与指定ServiceAbility的连接(promise形式) - -* disconnectAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------ | ---- | ------------------------------ | -| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | - -* 返回值 - - 无 - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' -var mRemote; -var connId; -function onConnectCallback(element, remote){ - mRemote = remote; - console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); -} -function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) -} -function onFailedCallback(code){ - console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) -} -var connId = featureAbility.connectAbility( - { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", - }, - { - onConnect: onConnectCallback, - onDisconnect: onDisconnectCallback, - onFailed: onFailedCallback, - }, -); -var result = await featureAbility.disconnectAbility(connId); -``` - -#### FeatureAbility.continueAbility(options: ContinueAbilityOptions, callback: AsyncCallback); - -* 接口说明 - - 迁移一个ability到目标设备,并返回执行结果(callback形式) - -* startAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | ---------------------- | ---- | ------------------- | -| options | 只读 | ContinueAbilityOptions | 是 | 表示被启动的Ability | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -- ContinueAbilityOptions类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------- | ---- | ----------------------------------------------------------- | -| deviceId | 只读 | string | 是 | 表示需要包含有关目标启动能力的信息 | -| reversible | 只读 | boolean | 是 | 是否支持回迁的标志,目前不支持该功能,为保留字段,可填false | - -* 示例 - -```javascript -import featureAbility from '@ohos.ability.featureAbility' - -async StartContinueAbility(deviceId) { - let continueAbilityOptions = { - reversible: false, - deviceId: deviceId, - } - function ContinueAbilityCallback(err, data) { - console.info("[Demo] ContinueAbilityCallback, result err = " + JSON.stringify(err)); - console.info("[Demo] ContinueAbilityCallback, result data= " + JSON.stringify(data)); - } - await featureAbility.continueAbility(continueAbilityOptions, ContinueAbilityCallback); - console.info('[Demo] featureAbility.StartContinueAbility end'); -} -this.StartContinueAbility(remoteDeviceId); //remoteDeviceId is acquired from DeviceManager -``` - +# FeatureAbility模块 + +## 支持设备 + +| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | +| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | +| FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.startAbility(parameter: StartAbilityParameter): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.acquireDataAbilityHelper(uri: string): DataAbilityHelper | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.terminateSelfWithResult(parameter: AbilityResult): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.hasWindowFocus(callback: AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.hasWindowFocus(): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.getWant(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.getWant(): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.getContext(): Context | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.terminateSelf(callback: AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.terminateSelf(): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.connectAbility(request: Want, options:ConnectOptions): number | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.disconnectAbility(connection: number, callback:AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| FeatureAbility.disconnectAbility(connection: number): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | + +## 使用限制 + +FeatureAbility模块的接口只能在Page类型的Ability调用 + +## 导入模块 + +``` +import featureAbility from '@ohos.ability.featureAbility' +``` + +## FeatureAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\): void + +* 接口说明 + + 启动新的ability(callback形式) + +* startAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | --------------------- | ---- | ------------------- | +| parameter | 只读 | [StartAbilityParameter](#StartAbilityParameter类型说明) | 是 | 表示被启动的Ability | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +- 返回值 + +- 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +featureAbility.startAbility( + { + want: + { + action: "", + entities: [""], + type: "", + flags: FLAG_AUTH_READ_URI_PERMISSION, + deviceId: "", + bundleName: "com.example.startability", + abilityName: "com.example.startability.MainAbility", + uri: "" + }, + }, + ); +) +``` + + + +## FeatureAbility.startAbility(parameter: StartAbilityParameter): Promise\ + +* 接口说明 + + 启动新的ability(Promise形式) + +* startAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | ------------------------------------------------------- | ---- | ------------------- | +| parameter | 只读 | [StartAbilityParameter](#StartAbilityParameter类型说明) | 是 | 表示被启动的Ability | + +- 返回值 + +- 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +featureAbility.startAbility( + { + want: + { + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION, + deviceId: deviceId, + bundleName: "com.example.startability", + abilityName: "com.example.startability.MainAbility", + uri: "" + }, + } + ).then((void) => { + console.info("==========================>startAbility=======================>"); +}); +``` + + + +## FeatureAbility.acquireDataAbilityHelper(uri: string): DataAbilityHelper + +* 接口说明 + + 获取dataAbilityHelper + +* 参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---- | -------- | ------ | ---- | ---------------------- | +| uri | 只读 | string | 是 | 指示要打开的文件的路径 | + +* 返回值 + +| 类型 | 说明 | +| ----------------- | ------------------------------------------ | +| DataAbilityHelper | 用来协助其他Ability访问DataAbility的工具类 | + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +featureAbility.acquireDataAbilityHelper( + "dataability:///com.exmaple.DataAbility" +) +``` + + + +## FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback\): void + +* 接口说明 + + 启动一个ability,并在该ability被销毁时返回执行结果(callback形式) + +* startAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | ---------------------- | ---- | ------------------- | +| parameter | 只读 | [StartAbilityParameter](#StartAbilityParameter类型说明) | 是 | 表示被启动的Ability | +| callback | 只读 | AsyncCallback\<[AbilityResult](#AbilityResult类型说明)> | 是 | 被指定的回调方法 | + +* 返回值 + + [AbilityResult](#AbilityResult类型说明) + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.startAbilityForResult( + { + want: + { + action: "action.system.home", + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION, + deviceId: "", + bundleName: "com.example.featureabilitytest", + abilityName: "com.example.featureabilitytest.MainAbility", + uri:"" + }, + }, +) +``` + + + +## FeatureAbility.startAbilityForResult(parameter: StartAbilityParameter): Promise\ + +* 接口说明 + + 启动一个ability,并在该ability被销毁时返回执行结果(Promise形式) + +* startAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | ------------------------------------------------------- | ---- | ------------------- | +| parameter | 只读 | [StartAbilityParameter](#StartAbilityParameter类型说明) | 是 | 表示被启动的Ability | + +* 返回值 + + [AbilityResult](#AbilityResult类型说明) + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.startAbilityForResult( + { + want: + { + action: "action.system.home", + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION, + deviceId: "", + bundleName: "com.example.featureabilitytest", + abilityName: "com.example.featureabilitytest.MainAbility", + uri:"", + parameters: + { + mykey0: 1111, + mykey1: [1, 2, 3], + mykey2: "[1, 2, 3]", + mykey3: "xxxxxxxxxxxxxxxxxxxxxx", + mykey4: [1, 15], + mykey5: [false, true, false], + mykey6: ["aaaaaa", "bbbbb", "ccccccccccc"], + mykey7: true, + }, + }, + requestCode: 2, + }, +).then((void) => { + console.info("==========================>startAbilityForResult=======================>"); +}); +``` + + + +## FeatureAbility.terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback\): void + +* 接口说明 + + 设置此page ability将返回给调用者的结果代码和数据并破坏此page ability(callback形式) + + +* startAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | ------------- | ---- | ------------------- | +| parameter | 只读 | [AbilityResult](#AbilityResult类型说明) | 是 | 表示被启动的Ability | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +featureAbility.terminateSelfWithResult( + { + resultCode: 1, + want: + { + action: "action.system.home", + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION, + deviceId: "", + bundleName: "com.example.featureabilitytest", + abilityName: "com.example.featureabilitytest.MainAbility", + uri:"", + parameters: { + mykey0: 2222, + mykey1: [1, 2, 3], + mykey2: "[1, 2, 3]", + mykey3: "ssssssssssssssssssssssssss", + mykey4: [1, 15], + mykey5: [false, true, false], + mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey7: true, + } + }, + }, +); +``` + + + +## FeatureAbility.terminateSelfWithResult(parameter: AbilityResult): Promise\ + +* 接口说明 + + 设置此page ability将返回给调用者的结果代码和数据并破坏此page ability(Promise形式) + +* startAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | --------------------------------------- | ---- | ------------------- | +| parameter | 只读 | [AbilityResult](#AbilityResult类型说明) | 是 | 表示被启动的Ability | + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.terminateSelfWithResult( + { + resultCode: 1, + want: + { + action: "action.system.home", + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION, + deviceId: "", + bundleName: "com.example.featureabilitytest", + abilityName: "com.example.featureabilitytest.MainAbility", + uri:"", + parameters: { + mykey0: 2222, + mykey1: [1, 2, 3], + mykey2: "[1, 2, 3]", + mykey3: "ssssssssssssssssssssssssss", + mykey4: [1, 15], + mykey5: [false, true, false], + mykey6: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"], + mykey7: true, + } + }, + } +).then((void) => { + console.info("==========================>terminateSelfWithResult=======================>"); +}); +``` + + + +## FeatureAbility.hasWindowFocus(callback: AsyncCallback\): void + +* 接口说明 + + 检查ability的主窗口是否具有窗口焦点(callback形式) + +* 参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | ----------------------- | ---- | ---------------- | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + + 如果此异能当前具有视窗焦点,则返回{@code true};否则返回{@code false} + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.hasWindowFocus() +``` + + + +## FeatureAbility.hasWindowFocus(): Promise\ + +* 接口说明 + + 检查ability的主窗口是否具有窗口焦点(Promise形式) + +* 参数描述 + + 无 + +* 返回值 + + 如果此异能当前具有视窗焦点,则返回{@code true};否则返回{@code false} + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.hasWindowFocus().then((void) => { + console.info("==========================>hasWindowFocus=======================>"); +}); +``` + + + +## FeatureAbility.getWant(callback: AsyncCallback\) + +* 接口说明 + + 获取从ability发送的want(callback形式) + +* 参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | -------------------- | ---- | ---------------- | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.getWant() +``` + + + +## FeatureAbility.getWant(): void + +* 接口说明 + + 获取从ability发送的want(Promise形式) + +* 参数描述 + + 无 + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.getWant().then((void) => { + console.info("==========================>getWantCallBack=======================>"); +}); +``` + + + +## FeatureAbility.getContext(): Context + +* 接口说明 + + 获取应用程序上下文 + +* 返回值 + + 返回应用程序上下文 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +var context = featureAbility.getContext() +context.getBundleName() +``` + + + +## FeatureAbility.terminateSelf(callback: AsyncCallback\): void + +* 接口说明 + + 设置page ability返回给被调用方的结果代码和数据,并销毁此page ability(callback形式) + +* 参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | -------------------- | ---- | ---------------- | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.terminateSelf() +``` + + + +## FeatureAbility.terminateSelf(): Promise\ + +* 接口说明 + + 设置page ability返回给被调用方的结果代码和数据,并销毁此page ability(Promise形式) + +* 参数描述 + + Null + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureability'; +featureAbility.terminateSelf().then((void) => { console.info("==========================>terminateSelfCallBack=======================>"); +}); +``` + +## FeatureAbility.connectAbility(request: Want, options:ConnectOptions): number + +* 接口说明 + + 将当前ability连接到指定ServiceAbility(callback形式) + +* connectAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------- | -------- | -------------- | ---- | -------------------------- | +| request | 只读 | Want | 是 | 表示被连接的ServiceAbility | +| options | 只读 | ConnectOptions | 是 | 被指定的回调方法 | + +- ConnectOptions类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------------ | -------- | -------- | ---- | ---------------------------------- | +| onConnect | 只读 | function | 是 | 连接成功时的回调函数 | +| onDisconnect | 只读 | function | 是 | 连接失败时的回调函数 | +| onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数 | + +* 返回值 + + 连接的ServiceAbilityID。 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +function onConnectCallback(element, remote){ + console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); +} +function onDisconnectCallback(element){ + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) +} +function onFailedCallback(code){ + console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) +} +var connId = featureAbility.connectAbility( + { + bundleName: "com.ix.ServiceAbility", + abilityName: "ServiceAbilityA", + }, + { + onConnect: onConnectCallback, + onDisconnect: onDisconnectCallback, + onFailed: onFailedCallback, + }, +); +``` + +## FeatureAbility.disconnectAbility(connection: number, callback:AsyncCallback\): void + +* 接口说明 + + 断开与指定ServiceAbility的连接(callback形式) + +* disconnectAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ------------- | ---- | ------------------------------ | +| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +function onConnectCallback(element, remote){ + console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); +} +function onDisconnectCallback(element){ + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) +} +function onFailedCallback(code){ + console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) +} +var connId = featureAbility.connectAbility( + { + bundleName: "com.ix.ServiceAbility", + abilityName: "ServiceAbilityA", + }, + { + onConnect: onConnectCallback, + onDisconnect: onDisconnectCallback, + onFailed: onFailedCallback, + }, +); +var result = featureAbility.disconnectAbility(connId, + (error,data) => { + console.log('featureAbilityTest DisConnectJsSameBundleName result errCode : ' + error.code + " data: " + data) + }, +); +``` + +## FeatureAbility.disconnectAbility(connection: number): Promise\ + +* 接口说明 + + 断开与指定ServiceAbility的连接(promise形式) + +* disconnectAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ------ | ---- | ------------------------------ | +| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | + +* 返回值 + +* 示例 + +```javascript +import featureAbility from '@ohos.ability.featureAbility' +function onConnectCallback(element, remote){ + console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); +} +function onDisconnectCallback(element){ + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) +} +function onFailedCallback(code){ + console.log('featureAbilityTest ConnectAbility onFailed errCode : ' + code) +} +var connId = featureAbility.connectAbility( + { + bundleName: "com.ix.ServiceAbility", + abilityName: "ServiceAbilityA", + }, + { + onConnect: onConnectCallback, + onDisconnect: onDisconnectCallback, + onFailed: onFailedCallback, + }, +); +var result = await featureAbility.disconnectAbility(connId); +``` + +## AbilityResult类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | --------------------- | ---- | ------------------------------------------------------------ | +| resultCode | 只读 | number | 是 | 指示销毁该能力后返回的结果代码。您可以定义结果代码来识别错误(暂不支持) | +| want | 只读 | [Want](#Want类型说明) | 否 | 指示销毁该能力后返回的数据。您可以定义返回的数据。此参数可以为null。 | + +## StartAbilityParameter类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------------------- | -------- | --------------------- | ---- | ------------------------------------------------------------ | +| want | 只读 | [Want](#Want类型说明) | 是 | 表示需要包含有关目标启动能力的信息。 | +| abilityStartSetting | 只读 | {[key: string]: any} | 否 | 表示能力的特殊属性,当开发者启动能力时,该属性可以作为调用中的输入参数传递。 | + +## Want类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ | +| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 | +| bundleName | 只读 | string | 否 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | +| abilityName | 只读 | string | 否 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | +| uri | 只读 | string | 否 | 表示Uri描述。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 | +| type | 只读 | string | 否 | 表示MIME type类型描述,比如:"text/plain" 、 "image/*"等。 | +| flags | 只读 | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](#flags说明)。 | +| action | 只读 | string | 否 | 表示action选项描述。 | +| parameters | 只读 | {[key: string]: any} | 否 | 表示WantParams描述。 | +| entities | 只读 | Array\ | 否 | 表示entities相关描述。 | + +## flags说明 + +| 名称 | 参数 | 描述 | +| ------------------------------------ | ---------- | ------------------------------------------------------------ | +| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | +| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | +| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源能力 | +| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | +| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否属于OHOS | +| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | +| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | +| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力 | +| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | +| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | +| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示迁移是可拉回的。 | +| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | +| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,使用后台模式安装该功能。 | +| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Want}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | +| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | +| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | + +## AbilityStartSetting类型说明 + +abilityStartSetting属性是一个定义为[key: string]: any的对象,key对应设定类型为:AbilityStartSetting枚举类型,value对应设定类型为:AbilityWindowConfiguration枚举类型。 + +使用时通过featureAbility.AbilityStartSetting获取,示例:featureAbility.AbilityStartSetting.BOUNDS_KEY。 + +| 名称 | 参数 | 描述 | +| --------------- | --------------- | -------------------------- | +| BOUNDS_KEY | "abilityBounds" | 窗口显示大小属性的名称。 | +| WINDOW_MODE_KEY | "windowMode" | 窗口显示模式属性的名称。 | +| DISPLAY_ID_KEY | "displayId" | 窗口显示设备ID属性的名称。 | + +## AbilityWindowConfiguration类型说明 + +使用时通过featureAbility.AbilityWindowConfiguration获取,示例:featureAbility.AbilityWindowConfiguration.WINDOW_MODE_UNDEFINED。 + +| 名称 | 参数 | 描述 | +| --------------------------- | ---- | ---------- | +| WINDOW_MODE_UNDEFINED | 0 | 未定义。 | +| WINDOW_MODE_FULLSCREEN | 1 | 全屏。 | +| WINDOW_MODE_SPLIT_PRIMARY | 100 | 分屏主屏。 | +| WINDOW_MODE_SPLIT_SECONDARY | 101 | 分屏次屏。 | +| WINDOW_MODE_FLOATING | 102 | 悬浮窗。 | \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-notification.md b/zh-cn/application-dev/reference/apis/js-apis-notification.md index d7ed60c5dbcac739bd540f51ed609319b3fd494f..129fcc1d7719c348d83c3918f358b1a606d6de0a 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-notification.md +++ b/zh-cn/application-dev/reference/apis/js-apis-notification.md @@ -1,6 +1,6 @@ -# Notification模块(JS端SDK接口) +# Notification模块 -#### 支持设备 +## 支持设备 | API | 手机 | 平板 | 智慧屏 | 智能穿戴 | | ------------------------------------------------------------ | ---- | ---- | ------ | -------- | @@ -83,19 +83,19 @@ | WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | | WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise\ | 支持 | 支持 | 支持 | 支持 | -#### 权限列表 +## 权限列表 无 -#### 通知接口 +## 通知接口 -#### 导入模块 +## 导入模块 ```js -import notify from '@ohos.notification'; +import Notification from '@ohos.notification'; ``` -#### Notification.publish(request: NotificationRequest, callback: AsyncCallback\) +## Notification.publish(request: NotificationRequest, callback: AsyncCallback\) - 接口说明 @@ -144,12 +144,13 @@ import notify from '@ohos.notification'; NotificationContent类型说明 -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ---------------------------- | ---- | -------------- | -| contentType | 读、写 | ContentType | 是 | 通知内容类型 | -| normal | 读、写 | NotificationBasicContent | 否 | 通知基本内容 | -| longText | 读、写 | NotificationLongTextContent | 否 | 通知长文本内容 | -| multiLine | 读、写 | NotificationMultiLineContent | 否 | 通知多行内容 | +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ----------- | -------- | ---------------------------- | ---- | ------------------ | +| contentType | 读、写 | ContentType | 是 | 通知内容类型 | +| normal | 读、写 | NotificationBasicContent | 否 | 基本类型通知内容 | +| longText | 读、写 | NotificationLongTextContent | 否 | 长文本类型通知内容 | +| multiLine | 读、写 | NotificationMultiLineContent | 否 | 多行类型通知内容 | +| picture | 读、写 | NotificationPictureContent | 否 | 图片类型通知内容 | - ContentType类型说明 @@ -202,6 +203,15 @@ NotificationContent类型说明 | expandedTitle | 读、写 | string | 是 | 通知展开时的标题 | | picture | 读、写 | image.PixelMap | 是 | 通知的图片内容 | +- SlotType类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------------------- | -------- | -------- | ---- | -------- | +| SOCIAL_COMMUNICATION | 只读 | SlotType | 否 | 社交类型 | +| SERVICE_INFORMATION | 只读 | SlotType | 否 | 服务类型 | +| CONTENT_INFORMATION | 只读 | SlotType | 否 | 内容类型 | +| OTHER_TYPES | 只读 | SlotType | 否 | 其他类型 | + - NotificationActionButton类型说明 | 名称 | 读写属性 | 类型 | 必填 | 描述 | @@ -247,7 +257,7 @@ Notification.publish(notificationRequest, publishCallback) -#### Notification.publish(request: NotificationRequest) +## Notification.publish(request: NotificationRequest) - 接口说明 @@ -280,7 +290,7 @@ Notification.publish(notificationRequest).then((void) => { -#### Notification.cancel(id: number, label: string, callback: AsyncCallback\) +## Notification.cancel(id: number, label: string, callback: AsyncCallback\) - 接口说明 @@ -291,7 +301,7 @@ Notification.publish(notificationRequest).then((void) => { | 名称 | 读写属性 | 类型 | 必填 | 描述 | | -------- | -------- | --------------------- | ---- | -------------------- | | id | 只读 | number | 是 | 通知ID | -| lable | 只读 | string | 是 | 通知标签 | +| label | 只读 | string | 是 | 通知标签 | | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - 返回值 @@ -310,7 +320,7 @@ Notification.cancel(0, "label", cancelCallback) -#### Notification.cancel(id:number, label?:string) +## Notification.cancel(id:number, label?:string) - 接口说明 @@ -321,7 +331,7 @@ Notification.cancel(0, "label", cancelCallback) | 名称 | 读写属性 | 类型 | 必填 | 描述 | | ----- | -------- | ------ | ---- | -------- | | id | 只读 | number | 是 | 通知ID | -| lable | 只读 | string | 是 | 通知标签 | +| label | 只读 | string | 否 | 通知标签 | - 返回值 @@ -337,7 +347,7 @@ Notification.cancel(0).then((void) => { -#### Notification.cancel(id: number, callback: AsyncCallback\) +## Notification.cancel(id: number, callback: AsyncCallback\) - 接口说明 @@ -366,7 +376,7 @@ Notification.cancel(0, cancelCallback) -#### Notification.cancelAll(callback: AsyncCallback\) +## Notification.cancelAll(callback: AsyncCallback\) - 接口说明 @@ -394,11 +404,11 @@ Notification.cancelAll(cancelCallback) -#### Notification.cancelAll() +## Notification.cancelAll() - 接口说明 - 取消所有已发布的通知(callback形式) + 取消所有已发布的通知(Promise形式) - 参数描述 @@ -406,7 +416,7 @@ Notification.cancelAll(cancelCallback) - 返回值 - void + Promise\ - 示例 @@ -418,7 +428,7 @@ Notification.cancelAll().then((void) => { -#### Notification.addSlot(slot: NotificationSlot, callback: AsyncCallback\) +## Notification.addSlot(slot: NotificationSlot, callback: AsyncCallback\) - 接口说明 @@ -426,10 +436,10 @@ Notification.cancelAll().then((void) => { - addSlot参数描述 -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | --------------------- | ---- | ------------------------------------------ | -| slot | 只读 | NotificationSlot | 是 | 要创建的通知通道,由{NotificationSlot}设置 | -| callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | --------------------- | ---- | -------------------- | +| slot | 只读 | NotificationSlot | 是 | 要创建的通知通道对象 | +| callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - NotificationSlot类型说明 @@ -460,14 +470,14 @@ function addSlotCallBack(err) { } //通知slot对象 var notificationSlot = { - type:SOCIAL_COMMUNICATION + type: Notification.SlotType.SOCIAL_COMMUNICATION } Notification.addSlot(notificationSlot, addSlotCallBack) ``` -#### Notification.addSlot(slot: NotificationSlot) +## Notification.addSlot(slot: NotificationSlot) - 接口说明 @@ -475,9 +485,9 @@ Notification.addSlot(notificationSlot, addSlotCallBack) - addSlot参数描述 -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---- | -------- | ---------------- | ---- | ------------------------------------------ | -| slot | 只读 | NotificationSlot | 是 | 要创建的通知通道,由{NotificationSlot}设置 | +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---- | -------- | ---------------- | ---- | -------------------- | +| slot | 只读 | NotificationSlot | 是 | 要创建的通知通道对象 | - 返回值 @@ -487,10 +497,9 @@ Notification.addSlot(notificationSlot, addSlotCallBack) ```js //通知slot对象 - var notificationSlot = { - notificationId: 0, - type:SOCIAL_COMMUNICATION - } +var notificationSlot = { + type: Notification.SlotType.SOCIAL_COMMUNICATION +} Notification.addSlot(notificationSlot).then((void) => { console.info("==========================>addSlotCallback=======================>"); }); @@ -498,7 +507,7 @@ Notification.addSlot(notificationSlot).then((void) => { -#### Notification.addSlot(type: SlotType, callback: AsyncCallback\) +## Notification.addSlot(type: SlotType, callback: AsyncCallback\) - 接口说明 @@ -511,15 +520,6 @@ Notification.addSlot(notificationSlot).then((void) => { | type | 只读 | SlotType | 是 | 要创建的通知通道的类型 | | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | -- SlotType类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------------------- | -------- | -------- | ---- | -------- | -| SOCIAL_COMMUNICATION | 只读 | SlotType | 否 | 社交类型 | -| SERVICE_INFORMATION | 只读 | SlotType | 否 | 服务类型 | -| CONTENT_INFORMATION | 只读 | SlotType | 否 | 内容类型 | -| OTHER_TYPES | 只读 | SlotType | 否 | 其他类型 | - - 返回值 void @@ -531,12 +531,12 @@ Notification.addSlot(notificationSlot).then((void) => { function addSlotCallBack(err) { console.info("==========================>addSlotCallBack=======================>"); } -Notification.addSlot(SOCIAL_COMMUNICATION, addSlotCallBack) +Notification.addSlot(Notification.SlotType.SOCIAL_COMMUNICATION, addSlotCallBack) ``` -#### Notification.addSlot(type: SlotType) +## Notification.addSlot(type: SlotType) - 接口说明 @@ -555,14 +555,14 @@ Notification.addSlot(SOCIAL_COMMUNICATION, addSlotCallBack) - 示例 ```js -Notification.addSlot(SOCIAL_COMMUNICATION).then((void) => { +Notification.addSlot(Notification.SlotType.SOCIAL_COMMUNICATION).then((void) => { console.info("==========================>addSlotCallback=======================>"); }); ``` -#### Notification.addSlots(slots: Array\, callback: AsyncCallback\) +## Notification.addSlots(slots: Array\, callback: AsyncCallback\) - 接口说明 @@ -570,10 +570,10 @@ Notification.addSlot(SOCIAL_COMMUNICATION).then((void) => { - addSlots数描述 -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | ------------------------- | ---- | ------------------------------------------ | -| slots | 只读 | Array\ | 是 | 要创建的通知通道,由{NotificationSlot}设置 | -| callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | ------------------------- | ---- | ------------------------ | +| slots | 只读 | Array\ | 是 | 要创建的通知通道对象数组 | +| callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - 返回值 @@ -588,8 +588,7 @@ function addSlotsCallBack(err) { } //通知slot对象 var notificationSlot = { - notificationId: 0, - type:SOCIAL_COMMUNICATION + type: Notification.SlotType.SOCIAL_COMMUNICATION } //通知slot array 对象 var notificationSlotArray = new Array(); @@ -600,7 +599,7 @@ Notification.addSlots(notificationSlotArray, addSlotsCallBack) -#### Notification.addSlots(slots: Array\) +## Notification.addSlots(slots: Array\) - 接口说明 @@ -608,9 +607,9 @@ Notification.addSlots(notificationSlotArray, addSlotsCallBack) - addSlots数描述 -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----- | -------- | ------------------------- | ---- | ------------------------------------------ | -| slots | 只读 | Array\ | 是 | 要创建的通知通道,由{NotificationSlot}设置 | +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ----- | -------- | ------------------------- | ---- | ------------------------ | +| slots | 只读 | Array\ | 是 | 要创建的通知通道对象数组 | - 返回值 @@ -621,8 +620,7 @@ Notification.addSlots(notificationSlotArray, addSlotsCallBack) ```js //通知slot对象 var notificationSlot = { - notificationId: 0, - type:SOCIAL_COMMUNICATION + type: Notification.SlotType.SOCIAL_COMMUNICATION } //通知slot array 对象 var notificationSlotArray = new Array(); @@ -635,7 +633,7 @@ Notification.addSlots(notificationSlotArray).then((void) => { -#### Notification.getSlot(slotType: SlotType, callback: AsyncCallback\) +## Notification.getSlot(slotType: SlotType, callback: AsyncCallback\) - 接口说明 @@ -659,13 +657,13 @@ Notification.addSlots(notificationSlotArray).then((void) => { function getSlotCallback(err,data) { console.info("==========================>getSlotCallback=======================>"); } -var slotType = SOCIAL_COMMUNICATION; +var slotType = Notification.SlotType.SOCIAL_COMMUNICATION; Notification.getSlot(slotType, getSlotCallback) ``` -#### Notification.getSlot(slotType) +## Notification.getSlot(slotType) - 接口说明 @@ -684,14 +682,15 @@ Notification.getSlot(slotType, getSlotCallback) - 示例 ```js -var slotType = SOCIAL_COMMUNICATION; +var slotType = Notification.SlotType.SOCIAL_COMMUNICATION; Notification.getSlot(slotType).then((data) => { console.info("==========================>getSlotCallback=======================>"); +}); ``` -#### Notification.getSlots(callback: AsyncCallback>) +## Notification.getSlots(callback: AsyncCallback>) - 接口说明 @@ -719,7 +718,7 @@ Notification.getSlots(getSlotsCallback) -#### Notification.getSlots() +## Notification.getSlots() - 接口说明 @@ -738,11 +737,12 @@ Notification.getSlots(getSlotsCallback) ```js Notification.getSlots().then((data) => { console.info("==========================>getSlotsCallback=======================>"); +}); ``` -#### Notification.removeSlot(slotType: SlotType, callback: AsyncCallback\) +## Notification.removeSlot(slotType: SlotType, callback: AsyncCallback\) - 接口说明 @@ -766,13 +766,13 @@ Notification.getSlots().then((data) => { function removeSlotCallback(err) { console.info("==========================>removeSlotCallback=======================>"); } -var slotType = SOCIAL_COMMUNICATION; +var slotType = Notification.SlotType.SOCIAL_COMMUNICATION; Notification.removeSlot(slotType,removeSlotCallback) ``` -#### Notification.removeSlot(slotType: SlotType) +## Notification.removeSlot(slotType: SlotType) - 接口说明 @@ -791,14 +791,15 @@ Notification.removeSlot(slotType,removeSlotCallback) - 示例 ```js -var slotType = SOCIAL_COMMUNICATION; +var slotType = Notification.SlotType.SOCIAL_COMMUNICATION; Notification.removeSlot(slotType).then((void) => { console.info("==========================>removeSlotCallback=======================>"); +}); ``` -#### Notification.removeAllSlots(callback: AsyncCallback\) +## Notification.removeAllSlots(callback: AsyncCallback\) - 接口说明 @@ -825,7 +826,7 @@ Notification.removeAllSlots(removeAllCallBack) -#### Notification.removeAllSlots() +## Notification.removeAllSlots() - 接口说明 @@ -849,7 +850,7 @@ Notification.removeAllSlots().then((void) => { -#### Notification.subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback\) +## Notification.subscribe(subscriber: NotificationSubscriber, info: NotificationSubscribeInfo, callback: AsyncCallback\) - 接口说明 @@ -873,7 +874,6 @@ Notification.removeAllSlots().then((void) => { | onConnect?:() | 读、写 | function | 否 | 注册订阅回调函数 | | onDisconnect?:() | 读、写 | function | 否 | 取消订阅回调函数 | | onDestroy?:() | 读、写 | function | 否 | 服务失联回调函数 | -| onDisturbModeChange?:(mode: notification.DoNotDisturbMode) | 读、写 | function | 否 | 免打扰模式变更回调函数 | | onDoNotDisturbDateChange?:(mode: notification.DoNotDisturbDate) | 读、写 | function | 否 | 免打扰时间选项变更回调函数 | - SubscribeCallbackData 类型说明 @@ -901,15 +901,6 @@ Notification.removeAllSlots().then((void) => { | hashCode | 只读 | string | 是 | 通知唯一标识 | | ranking | 只读 | number | 是 | 通知排序序号 | -- DoNotDisturbMode类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------------- | -------- | ---------------- | ---- | ---------------------------- | -| ALLOW_ALL | 只读 | DoNotDisturbMode | 否 | 全部绕过免打扰 | -| ALLOW_PRIORITY | 只读 | DoNotDisturbMode | 否 | 指定优先级通知可以绕过免打扰 | -| ALLOW_NONE | 只读 | DoNotDisturbMode | 否 | 全部免打扰 | -| ALLOW_ALARMS | 只读 | DoNotDisturbMode | 否 | 闹钟类型通知可以绕过免打扰 | - - DoNotDisturbType类型说明 @@ -950,17 +941,17 @@ function onConsumeCallback(err, data) { console.info("==========================>onConsumeCallback=======================>"); } var subscriber = { - onConsume:onConsumeCallback; + onConsume: onConsumeCallback } var info = { - bundleNames:["bundleName1","bundleName2"] + bundleNames: ["bundleName1","bundleName2"] } Notification.subscribe(subscriber, info, subscribeCallback); ``` -#### Notification.subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\) +## Notification.subscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\) - 接口说明 @@ -987,14 +978,14 @@ function onConsumeCallback(err, data) { console.info("==========================>onConsumeCallback=======================>"); } var subscriber = { - onConsume:onConsumeCallback; + onConsume: onConsumeCallback } Notification.subscribe(subscriber, subscribeCallback); ``` -#### Notification.subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo) +## Notification.subscribe(subscriber: NotificationSubscriber, info?: NotificationSubscribeInfo) - 接口说明 @@ -1018,7 +1009,7 @@ function onConsumeCallback(err, data) { console.info("==========================>onConsumeCallback=======================>"); } var subscriber = { - onConsume:onConsumeCallback; + onConsume: onConsumeCallback }; Notification.subscribe(subscriber).then((void) => { console.info("==========================>subscribeCallback=======================>"); @@ -1027,7 +1018,7 @@ Notification.subscribe(subscriber).then((void) => { -#### Notification.unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\) +## Notification.unsubscribe(subscriber: NotificationSubscriber, callback: AsyncCallback\) - 接口说明 @@ -1054,14 +1045,14 @@ function onConsumeCallback(err, data) { console.info("==========================>onConsumeCallback=======================>"); } var subscriber = { - onConsume:onConsumeCallback; + onConsume: onConsumeCallback } Notification.unsubscribe(subscriber, unsubscribeCallback); ``` -#### Notification.unsubscribe(subscriber: NotificationSubscriber) +## Notification.unsubscribe(subscriber: NotificationSubscriber) - 接口说明 @@ -1084,7 +1075,7 @@ function onConsumeCallback(err, data) { console.info("==========================>onConsumeCallback=======================>"); } var subscriber = { - onConsume:onConsumeCallback; + onConsume: onConsumeCallback }; Notification.unsubscribe(subscriber).then((void) => { console.info("==========================>unsubscribeCallback=======================>"); @@ -1093,7 +1084,7 @@ Notification.unsubscribe(subscriber).then((void) => { -#### Notification.enableNotification(bundle: BundleOption, enable: boolean, callback: AsyncCallback\) +## Notification.enableNotification(bundle: BundleOption, enable: boolean, callback: AsyncCallback\) - 接口说明 @@ -1124,14 +1115,14 @@ function enableNotificationCallback(err) { console.info("==========================>enableNotificationCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.enableNotification(bundle, false, enableNotificationCallback); ``` -#### Notification.enableNotification(bundle: BundleOption, enable: boolean) +## Notification.enableNotification(bundle: BundleOption, enable: boolean) - 接口说明 @@ -1152,7 +1143,7 @@ Notification.enableNotification(bundle, false, enableNotificationCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.enableNotification(bundle, false).then((void) => { console.info("==========================>enableNotificationCallback=======================>"); @@ -1161,7 +1152,7 @@ Notification.enableNotification(bundle, false).then((void) => { -#### Notification.isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback\) +## Notification.isNotificationEnabled(bundle: BundleOption, callback: AsyncCallback\) - 接口说明 @@ -1185,14 +1176,14 @@ function isNotificationEnabledCallback(err, data) { console.info("==========================>isNotificationEnabledCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.isNotificationEnabled(bundle, isNotificationEnabledCallback); ``` -#### Notification.isNotificationEnabled(bundle: BundleOption) +## Notification.isNotificationEnabled(bundle: BundleOption) - 接口说明 @@ -1212,7 +1203,7 @@ Notification.isNotificationEnabled(bundle, isNotificationEnabledCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.isNotificationEnabled(bundle).then((data) => { console.info("==========================>isNotificationEnabledCallback=======================>"); @@ -1221,7 +1212,7 @@ Notification.isNotificationEnabled(bundle).then((data) => { -#### Notification.isNotificationEnabled(callback: AsyncCallback\) +## Notification.isNotificationEnabled(callback: AsyncCallback\) - 接口说明 @@ -1249,7 +1240,7 @@ Notification.isNotificationEnabled(isNotificationEnabledCallback); -#### Notification.isNotificationEnabled() +## Notification.isNotificationEnabled() - 接口说明 @@ -1275,7 +1266,7 @@ Notification.isNotificationEnabled().then((data) => { -#### Notification.displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback\) +## Notification.displayBadge(bundle: BundleOption, enable: boolean, callback: AsyncCallback\) - 接口说明 @@ -1300,14 +1291,14 @@ function displayBadgeCallback(err) { console.info("==========================>displayBadgeCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.displayBadge(bundle, false, displayBadgeCallback); ``` -#### Notification.displayBadge(bundle: BundleOption, enable: boolean) +## Notification.displayBadge(bundle: BundleOption, enable: boolean) - 接口说明 @@ -1328,7 +1319,7 @@ Notification.displayBadge(bundle, false, displayBadgeCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.displayBadge(bundle, false).then((void) => { console.info("==========================>displayBadgeCallback=======================>"); @@ -1337,7 +1328,7 @@ Notification.displayBadge(bundle, false).then((void) => { -#### Notification.isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback\) +## Notification.isBadgeDisplayed(bundle: BundleOption, callback: AsyncCallback\) - 接口说明 @@ -1361,14 +1352,14 @@ function isBadgeDisplayedCallback(err, data) { console.info("==========================>isBadgeDisplayedCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.isBadgeDisplayed(bundle, isBadgeDisplayedCallback); ``` -#### Notification.isBadgeDisplayed(bundle: BundleOption) +## Notification.isBadgeDisplayed(bundle: BundleOption) - 接口说明 @@ -1388,7 +1379,7 @@ Notification.isBadgeDisplayed(bundle, isBadgeDisplayedCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.isBadgeDisplayed(bundle).then((data) => { console.info("==========================>isBadgeDisplayedCallback=======================>"); @@ -1397,7 +1388,7 @@ Notification.isBadgeDisplayed(bundle).then((data) => { -#### Notification.setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCallback\) +## Notification.setSlotByBundle(bundle: BundleOption, slot: NotificationSlot, callback: AsyncCallback\) - 接口说明 @@ -1422,17 +1413,17 @@ function setSlotByBundleCallback(err) { console.info("==========================>setSlotByBundleCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } var notificationSlot = { - type:SOCIAL_COMMUNICATION + type: Notification.SlotType.SOCIAL_COMMUNICATION } Notification.setSlotByBundle(bundle, notificationSlot, setSlotByBundleCallback); ``` -#### Notification.setSlotByBundle(bundle: BundleOption, slot: NotificationSlot) +## Notification.setSlotByBundle(bundle: BundleOption, slot: NotificationSlot) - 接口说明 @@ -1453,10 +1444,10 @@ Notification.setSlotByBundle(bundle, notificationSlot, setSlotByBundleCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } var notificationSlot = { - type:SOCIAL_COMMUNICATION + type: Notification.SlotType.SOCIAL_COMMUNICATION } Notification.displayBadge(bundle, notificationSlot).then((void) => { console.info("==========================>setSlotByBundleCallback=======================>"); @@ -1465,7 +1456,7 @@ Notification.displayBadge(bundle, notificationSlot).then((void) => { -#### Notification.getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback>) +## Notification.getSlotsByBundle(bundle: BundleOption, callback: AsyncCallback>) - 接口说明 @@ -1489,14 +1480,14 @@ function getSlotsByBundleCallback(err, data) { console.info("==========================>getSlotsByBundleCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.getSlotsByBundle(bundle, getSlotsByBundleCallback); ``` -#### Notification.getSlotsByBundle(bundle: BundleOption) +## Notification.getSlotsByBundle(bundle: BundleOption) - 接口说明 @@ -1516,7 +1507,7 @@ Notification.getSlotsByBundle(bundle, getSlotsByBundleCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.getSlotsByBundle(bundle).then((data) => { console.info("==========================>getSlotsByBundleCallback=======================>"); @@ -1525,7 +1516,7 @@ Notification.getSlotsByBundle(bundle).then((data) => { -#### Notification.getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback\) +## Notification.getSlotNumByBundle(bundle: BundleOption, callback: AsyncCallback\) - 接口说明 @@ -1549,14 +1540,14 @@ function getSlotNumByBundle(err, data) { console.info("==========================>getSlotNumByBundleCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.getSlotNumByBundle(bundle, getSlotNumByBundleCallback); ``` -#### Notification.getSlotNumByBundle(bundle: BundleOption) +## Notification.getSlotNumByBundle(bundle: BundleOption) - 接口说明 @@ -1576,7 +1567,7 @@ Notification.getSlotNumByBundle(bundle, getSlotNumByBundleCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.getSlotNumByBundle(bundle).then((data) => { console.info("==========================>getSlotNumByBundleCallback=======================>"); @@ -1585,7 +1576,7 @@ Notification.getSlotNumByBundle(bundle).then((data) => { -#### Notification.remove(bundle: BundleOption, notificationKey: NotificationKey, callback: AsyncCallback\) +## Notification.remove(bundle: BundleOption, notificationKey: NotificationKey, callback: AsyncCallback\) - 接口说明 @@ -1617,18 +1608,18 @@ function removeCallback(err) { console.info("==========================>removeCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } var notificationKey = { - id:0; - label:"label"; + id: 0; + label: "label"; } Notification.remove(bundle, notificationKey, removeCallback); ``` -#### Notification.remove(bundle: BundleOption, notificationKey: NotificationKey) +## Notification.remove(bundle: BundleOption, notificationKey: NotificationKey) - 接口说明 @@ -1649,11 +1640,11 @@ Notification.remove(bundle, notificationKey, removeCallback); ```js var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } var notificationKey = { - id:0; - label:"label"; + id: 0; + label: "label"; } Notification.remove(bundle, notificationKey).then((void) => { console.info("==========================>removeCallback=======================>"); @@ -1662,7 +1653,7 @@ Notification.remove(bundle, notificationKey).then((void) => { -#### Notification.remove(hashCode: string, callback: AsyncCallback\) +## Notification.remove(hashCode: string, callback: AsyncCallback\) - 接口说明 @@ -1691,7 +1682,7 @@ Notification.remove(hashCode, removeCallback); -#### Notification.remove(hashCode: string) +## Notification.remove(hashCode: string) - 接口说明 @@ -1717,7 +1708,7 @@ Notification.remove(hashCode).then((void) => { -#### Notification.removeAll(bundle: BundleOption, callback: AsyncCallback\) +## Notification.removeAll(bundle: BundleOption, callback: AsyncCallback\) - 接口说明 @@ -1741,14 +1732,14 @@ function removeAllCallback(err) { console.info("==========================>removeAllCallback=======================>"); } var bundle = { - bundle:"bundleName1"; + bundle: "bundleName1"; } Notification.removeAll(bundle, removeAllCallback); ``` -#### Notification.removeAll(callback: AsyncCallback\) +## Notification.removeAll(callback: AsyncCallback\) - 接口说明 @@ -1776,7 +1767,7 @@ Notification.removeAll(removeAllCallback); -#### Notification.removeAll(bundle?: BundleOption) +## Notification.removeAll(bundle?: BundleOption) - 接口说明 @@ -1802,7 +1793,7 @@ Notification.removeAll().then((void) => { -#### Notification.getAllActiveNotifications(callback: AsyncCallback>) +## Notification.getAllActiveNotifications(callback: AsyncCallback>) - 接口说明 @@ -1830,7 +1821,7 @@ Notification.getAllActiveNotifications(getAllActiveNotificationsCallback); -#### Notification.getAllActiveNotifications() +## Notification.getAllActiveNotifications() - 接口说明 @@ -1854,7 +1845,7 @@ Notification.getAllActiveNotifications().then((data) => { -#### Notification.getActiveNotificationCount(callback: AsyncCallback\) +## Notification.getActiveNotificationCount(callback: AsyncCallback\) - 接口说明 @@ -1882,7 +1873,7 @@ Notification.getActiveNotificationCount(getActiveNotificationCountCallback); -#### Notification.getActiveNotificationCount() +## Notification.getActiveNotificationCount() - 接口说明 @@ -1906,7 +1897,7 @@ Notification.getActiveNotificationCount().then((data) => { -#### Notification.getActiveNotifications(callback: AsyncCallback>) +## Notification.getActiveNotifications(callback: AsyncCallback>) - 接口说明 @@ -1934,7 +1925,7 @@ Notification.getActiveNotifications(getActiveNotificationsCallback); -#### Notification.getActiveNotifications() +## Notification.getActiveNotifications() - 接口说明 @@ -1958,7 +1949,7 @@ Notification.getActiveNotifications().then((data) => { -#### Notification.cancelGroup(groupName: string, callback: AsyncCallback\) +## Notification.cancelGroup(groupName: string, callback: AsyncCallback\) - 接口说明 @@ -1989,7 +1980,7 @@ Notification.cancelGroup(groupName, cancelGroupCallback); -#### Notification.cancelGroup(groupName: string) +## Notification.cancelGroup(groupName: string) - 接口说明 @@ -2016,7 +2007,7 @@ Notification.cancelGroup(groupName).then(() => { -#### Notification.removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCallback\) +## Notification.removeGroupByBundle(bundle: BundleOption, groupName: string, callback: AsyncCallback\) - 接口说明 @@ -2041,7 +2032,7 @@ function removeGroupByBundleCallback(err) { console.info("==========================>removeGroupByBundleCallback=======================>"); } -var bundleOption = {bundle:"Bundle"}; +var bundleOption = {bundle: "Bundle"}; var groupName = "GroupName"; Notification.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCallback); @@ -2049,7 +2040,7 @@ Notification.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCal -#### Notification.removeGroupByBundle(bundle: BundleOption, groupName: string) +## Notification.removeGroupByBundle(bundle: BundleOption, groupName: string) - 接口说明 @@ -2069,7 +2060,7 @@ Notification.removeGroupByBundle(bundleOption, groupName, removeGroupByBundleCal - 示例 ```js -var bundleOption = {bundle:"Bundle"}; +var bundleOption = {bundle: "Bundle"}; var groupName = "GroupName"; Notification.removeGroupByBundle(bundleOption, groupName).then(() => { console.info("==========================>removeGroupByBundlePromise=======================>"); @@ -2078,7 +2069,7 @@ Notification.removeGroupByBundle(bundleOption, groupName).then(() => { -#### Notification.setDoNotDisturbDate(date: DoNotDisturbDate, callback: AsyncCallback\) +## Notification.setDoNotDisturbDate(date: DoNotDisturbDate, callback: AsyncCallback\) - 接口说明 @@ -2103,9 +2094,9 @@ function setDoNotDisturbDateCallback(err) { } var doNotDisturbDate = { - type : notification.DoNotDisturbType.TYPE_ONCE, - begin : new Date(), - end : new Date(2021, 11, 15, 18, 0) + type: notification.DoNotDisturbType.TYPE_ONCE, + begin: new Date(), + end: new Date(2021, 11, 15, 18, 0) } Notification.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback); @@ -2113,7 +2104,7 @@ Notification.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback); -#### Notification.setDoNotDisturbDate(date: DoNotDisturbDate) +## Notification.setDoNotDisturbDate(date: DoNotDisturbDate) - 接口说明 @@ -2133,9 +2124,9 @@ Notification.setDoNotDisturbDate(doNotDisturbDate, setDoNotDisturbDateCallback); ```js var doNotDisturbDate = { - type : notification.DoNotDisturbType.TYPE_ONCE, - begin : new Date(), - end : new Date(2021, 11, 15, 18, 0) + type: notification.DoNotDisturbType.TYPE_ONCE, + begin: new Date(), + end: new Date(2021, 11, 15, 18, 0) } Notification.setDoNotDisturbDate(doNotDisturbDate).then(() => { console.info("==========================>setDoNotDisturbDatePromise=======================>"); @@ -2144,7 +2135,7 @@ Notification.setDoNotDisturbDate(doNotDisturbDate).then(() => { -#### Notification.getDoNotDisturbDate(callback: AsyncCallback\) +## Notification.getDoNotDisturbDate(callback: AsyncCallback\) - 接口说明 @@ -2172,7 +2163,7 @@ Notification.getDoNotDisturbDate(getDoNotDisturbDateCallback); -#### Notification.getDoNotDisturbDate() +## Notification.getDoNotDisturbDate() - 接口说明 @@ -2196,7 +2187,7 @@ Notification.getDoNotDisturbDate().then((data) => { -#### Notification.supportDoNotDisturbMode(callback: AsyncCallback\) +## Notification.supportDoNotDisturbMode(callback: AsyncCallback\) - 接口说明 @@ -2224,7 +2215,7 @@ Notification.supportDoNotDisturbMode(supportDoNotDisturbModeCallback); -#### Notification.supportDoNotDisturbMode() +## Notification.supportDoNotDisturbMode() - 接口说明 @@ -2248,15 +2239,15 @@ Notification.supportDoNotDisturbMode().then((data) => { -#### WantAgent接口 +## WantAgent接口 -#### 导入模块 +## 导入模块 ```js import WantAgent from '@ohos.wantAgent'; ``` -#### WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback\) +## WantAgent.getWantAgent(info: WantAgentInfo, callback: AsyncCallback\) - 接口说明 @@ -2291,11 +2282,6 @@ import WantAgent from '@ohos.wantAgent'; | CANCEL_PRESENT_FLAG | 只读 | enum | 否 | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象 | | UPDATE_PRESENT_FLAG | 只读 | enum | 否 | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据 | | CONSTANT_FLAG | 只读 | enum | 否 | WantAgent是不可变的 | -| REPLACE_ELEMENT | 只读 | enum | 否 | 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代 | -| REPLACE_ACTION | 只读 | enum | 否 | 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代 | -| REPLACE_URI | 只读 | enum | 否 | 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代 | -| REPLACE_ENTITIES | 只读 | enum | 否 | 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代 | -| REPLACE_BUNDLE | 只读 | enum | 否 | 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代 | - OperationType类型说明 @@ -2314,8 +2300,8 @@ import WantAgent from '@ohos.wantAgent'; - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //getWantAgent回调 function getWantAgentCallback(err, data) { @@ -2349,12 +2335,12 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) ``` -#### WantAgent.getWantAgent(info: WantAgentInfo): Promise\ +## WantAgent.getWantAgent(info: WantAgentInfo): Promise\ - 接口说明 @@ -2374,8 +2360,8 @@ wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //WantAgentInfo对象 var wantAgentInfo = { @@ -2405,14 +2391,14 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo).then((data) => { +WantAgent.getWantAgent(wantAgentInfo).then((data) => { console.info("==========================>getWantAgentCallback=======================>"); }); ``` -#### WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback\) +## WantAgent.getBundleName(agent: WantAgent, callback: AsyncCallback\) - 接口说明 @@ -2433,17 +2419,17 @@ wantAgent.getWantAgent(wantAgentInfo).then((data) => { - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { console.info("==========================>getWantAgentCallback=======================>"); if (err.code == 0) { - WantAgent = data; + wantAgent = data; } else { console.info('----getWantAgent failed!----'); } @@ -2476,18 +2462,18 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) //getBundleName回调 function getBundleNameCallback(err, data) { console.info("==========================>getBundleNameCallback=======================>"); } -wantAgent.getBundleName(WantAgent, getBundleNameCallback) +WantAgent.getBundleName(wantAgent, getBundleNameCallback) ``` -#### WantAgent.getBundleName(agent: WantAgent): Promise\ +## WantAgent.getBundleName(agent: WantAgent): Promise\ - 接口说明 @@ -2507,11 +2493,11 @@ wantAgent.getBundleName(WantAgent, getBundleNameCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //WantAgentInfo对象 var wantAgentInfo = { @@ -2541,19 +2527,19 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo).then((data) => { +WantAgent.getWantAgent(wantAgentInfo).then((data) => { console.info("==========================>getWantAgentCallback=======================>"); - WantAgent = data; + wantAgent = data; }); -wantAgent.getBundleName(WantAgent).then((data) => { +WantAgent.getBundleName(wantAgent).then((data) => { console.info("==========================>getBundleNameCallback=======================>"); }); ``` -#### WantAgent.getUid(agent: WantAgent, callback: AsyncCallback\) +## WantAgent.getUid(agent: WantAgent, callback: AsyncCallback\) - 接口说明 @@ -2574,17 +2560,17 @@ wantAgent.getBundleName(WantAgent).then((data) => { - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { console.info("==========================>getWantAgentCallback=======================>"); if (err.code == 0) { - WantAgent = data; + wantAgent = data; } else { console.info('----getWantAgent failed!----'); } @@ -2617,18 +2603,18 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) //getUid回调 function getUidCallback(err, data) { console.info("==========================>getUidCallback=======================>"); } -wantAgent.getUid(WantAgent, getUidCallback) +WantAgent.getUid(wantAgent, getUidCallback) ``` -#### WantAgent.getUid(agent: WantAgent): Promise\ +## WantAgent.getUid(agent: WantAgent): Promise\ - 接口说明 @@ -2648,11 +2634,11 @@ wantAgent.getUid(WantAgent, getUidCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //WantAgentInfo对象 var wantAgentInfo = { @@ -2682,19 +2668,19 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo).then((data) => { +WantAgent.getWantAgent(wantAgentInfo).then((data) => { console.info("==========================>getWantAgentCallback=======================>"); - WantAgent = data; + wantAgent = data; }); -wantAgent.getUid(WantAgent).then((data) => { +WantAgent.getUid(wantAgent).then((data) => { console.info("==========================>getUidCallback=======================>"); }); ``` -#### WantAgent.getWant(agent: WantAgent, callback: AsyncCallback\) +## WantAgent.getWant(agent: WantAgent, callback: AsyncCallback\) - 接口说明 @@ -2715,17 +2701,17 @@ wantAgent.getUid(WantAgent).then((data) => { - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { console.info("==========================>getWantAgentCallback=======================>"); if (err.code == 0) { - WantAgent = data; + wantAgent = data; } else { console.info('----getWantAgent failed!----'); } @@ -2758,22 +2744,22 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentWantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) //getWant回调 function getWantCallback(err, data) { console.info("==========================>getWantCallback=======================>"); } -wantAgent.getWant(WantAgent, getWantCallback) +WantAgent.getWant(wantAgent, getWantCallback) ``` -#### WantAgent.getWant(agent: WantAgent): Promise\ +## WantAgent.getWant(agent: WantAgent): Promise\ - 接口说明 - 获取WantAgent对象的Uid(Promise形式) + 获取WantAgent对象的want(Promise形式) - getWant参数描述 @@ -2789,11 +2775,11 @@ wantAgent.getWant(WantAgent, getWantCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //WantAgentInfo对象 var wantAgentInfo = { @@ -2823,19 +2809,19 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo).then((data) => { +WantAgent.getWantAgent(wantAgentInfo).then((data) => { console.info("==========================>getWantAgentCallback=======================>"); - WantAgent = data; + wantAgent = data; }); -wantAgent.getWant(WantAgent).then((data) => { +WantAgent.getWant(wantAgent).then((data) => { console.info("==========================>getWantCallback=======================>"); }); ``` -#### WantAgent.cancel(agent: WantAgent, callback: AsyncCallback\) +## WantAgent.cancel(agent: WantAgent, callback: AsyncCallback\) - 接口说明 @@ -2856,17 +2842,17 @@ wantAgent.getWant(WantAgent).then((data) => { - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { console.info("==========================>getWantAgentCallback=======================>"); if (err.code == 0) { - WantAgent = data; + wantAgent = data; } else { console.info('----getWantAgent failed!----'); } @@ -2899,18 +2885,18 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) //cancel回调 function cancelCallback(err, data) { console.info("==========================>cancelCallback=======================>"); } -wantAgent.cancel(WantAgent, cancelCallback) +WantAgent.cancel(wantAgent, cancelCallback) ``` -#### WantAgent.cancel(agent: WantAgent): Promise\ +## WantAgent.cancel(agent: WantAgent): Promise\ - 接口说明 @@ -2930,11 +2916,11 @@ wantAgent.cancel(WantAgent, cancelCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //WantAgentInfo对象 var wantAgentInfo = { @@ -2964,19 +2950,19 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo).then((data) => { +WantAgent.getWantAgent(wantAgentInfo).then((data) => { console.info("==========================>getWantAgentCallback=======================>"); - WantAgent = data; + wantAgent = data; }); -wantAgent.cancel(WantAgent).then((data) => { +WantAgent.cancel(wantAgent).then((data) => { console.info("==========================>cancelCallback=======================>"); }); ``` -#### WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\) +## WantAgent.trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\) - 接口说明 @@ -3007,17 +2993,17 @@ wantAgent.cancel(WantAgent).then((data) => { - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent; +var wantAgent; //getWantAgent回调 function getWantAgentCallback(err, data) { console.info("==========================>getWantAgentCallback=======================>"); if (err.code == 0) { - WantAgent = data; + wantAgent = data; } else { console.info('----getWantAgent failed!----'); } @@ -3050,7 +3036,7 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) //trigger回调 function triggerCallback(err, data) { @@ -3060,12 +3046,12 @@ function triggerCallback(err, data) { var triggerInfo = { code:0 } -wantAgent.trigger(WantAgent, triggerInfo, triggerCallback) +WantAgent.trigger(wantAgent, triggerInfo, triggerCallback) ``` -#### WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\) +## WantAgent.equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\) - 接口说明 @@ -3087,19 +3073,19 @@ wantAgent.trigger(WantAgent, triggerInfo, triggerCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent1; -var WantAgent2; +var wantAgent1; +var wantAgent2; //getWantAgent回调 function getWantAgentCallback(err, data) { console.info("==========================>getWantAgentCallback=======================>"); if (err.code == 0) { - WantAgent1 = data; - WantAgent2 = data; + wantAgent1 = data; + wantAgent2 = data; } else { console.info('----getWantAgent failed!----'); } @@ -3132,18 +3118,18 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) +WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback) //equal回调 function equalCallback(err, data) { console.info("==========================>equalCallback=======================>"); } -wantAgent.equal(WantAgent1, WantAgent1, equalCallback) +WantAgent.equal(wantAgent1, wantAgent2, equalCallback) ``` -#### WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise\ +## WantAgent.equal(agent: WantAgent, otherAgent: WantAgent): Promise\ - 接口说明 @@ -3164,12 +3150,12 @@ wantAgent.equal(WantAgent1, WantAgent1, equalCallback) - 示例 ```js -import wantAgent from '@ohos.wantAgent'; -import { OperationType, Flags } from '@ohos.wantagent'; +import WantAgent from '@ohos.wantAgent'; +import { OperationType, WantAgentFlags } from '@ohos.wantagent'; //wantAgent对象 -var WantAgent1; -var WantAgent2; +var wantAgent1; +var wantAgent2; //WantAgentInfo对象 var wantAgentInfo = { @@ -3199,12 +3185,13 @@ var wantAgentInfo = { wantAgentFlags:[WantAgentFlags.UPDATE_PRESENT_FLAG] } -wantAgent.getWantAgent(wantAgentInfo).then((data) => { +WantAgent.getWantAgent(wantAgentInfo).then((data) => { console.info("==========================>getWantAgentCallback=======================>"); - WantAgent = data; + wantAgent1 = data; + wantAgent2 = data; }); -wantAgent.equal(WantAgent1, WantAgent2).then((data) => { +WantAgent.equal(wantAgent1, wantAgent2).then((data) => { console.info("==========================>equalCallback=======================>"); }); ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-particleAbility.md b/zh-cn/application-dev/reference/apis/js-apis-particleAbility.md index 61a144a8ef5c29b425b5da71ed62e1023d793763..9674cf739c3fb42a06ac6572c6d44643c316c4d6 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-particleAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-particleAbility.md @@ -1,411 +1,394 @@ -# ParticleAbility模块(JS端SDK接口) - -#### 支持设备 - -| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | -| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | -| ParticleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| ParticleAbility.startAbility(parameter: StartAbilityParameter) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| ParticleAbility.terminateSelf(callback: AsyncCallback\) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| ParticleAbility.terminateSelf() | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | -| ParticleAbility.acquireDataAbilityHelper(uri: string) | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | - -#### 权限列表 - -ohos.permission.RUNNING_LOCK permission - -#### 使用限制 - -ParticleAbility模块的接口只能在Ability为Data和Service类型的时候进行调用 - -#### 导入模块 - -``` -import featureAbility from '@ohos.ability.featureAbility' -``` - -#### ParticleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\ - -- 接口说明 - - 服务ability使用此方法启动特定ability(callback形式) - -- startAbility参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | --------------------- | ---- | ----------------- | -| parameter | 只读 | StartAbilityParameter | 是 | 指示启动的ability | -| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | - -- StartAbilityParameter类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------------- | -------- | ------ | ---- | ---------------------------------- | -| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 | -| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -- flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -- 返回值 - - void - -- 示例 - -```js -import particleAbility from '@ohos.ability.particleAbility' -particleAbility.startAbility( - { - want: - { - action: "action.system.home", - entities: ["entity.system.home"], - type: "MIMETYPE", - flags: FLAG_AUTH_READ_URI_PERMISSION; - deviceId: "", - bundleName: "com.example.Data", - abilityName: "com.jstest.startabilitytest5.MainAbility", - uri:"" - }, - }, -) -``` - - - -#### ParticleAbility.startAbility(parameter: StartAbilityParameter) - -- 接口说明 -服务ability使用此方法启动特定ability((Promise形式) -- startAbility参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | --------------------- | ---- | ----------------- | -| parameter | 只读 | StartAbilityParameter | 是 | 指示启动的ability | -- StartAbilityParameter类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------------- | -------- | ------ | ---- | ---------------------------------- | -| want | 只读 | want | 是 | 表示需要包含有关目标启动能力的信息 | -| abilityStartSetting | 只读 | string | 否 | 指示启动能力中使用的特殊启动设置 | - -- want类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ------ | ---- | -------------------------- | -| deviceId | 只读 | string | 否 | 设备id | -| bundleName | 只读 | string | 否 | 捆绑包名称 | -| abilityName | 只读 | string | 否 | ability 名字 | -| uri | 只读 | string | 否 | 请求中URI的描述 | -| type | 只读 | string | 否 | 此文件中类型的说明 | -| flags | 只读 | number | 否 | 此文件中标志的选项是必需的 | -| action | 只读 | string | 否 | 需求中对操作的描述 | -| parameters | 只读 | string | 否 | Want中WantParams对象的描述 | -| entities | 只读 | string | 否 | 对象中实体的描述 | - -- flags类型说明 - - | 名称 | 参数 | 描述 | - | ------------------------------------ | ---------- | ------------------------------------------------------------ | - | FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | - | FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | - | FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源异能 | - | FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | - | FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否不属于OHOS | - | FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | - | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | - | FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力片 | - | FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | - | FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | - | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示延续是可逆的。 | - | FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | - | FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,请使用后台模式安装指定的DI功能。 | - | FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Intent}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | - | FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | - | FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | - -- 返回值 - - void - -- 示例 - -```js -import featureAbility from '@ohos.ability.featureAbility' -import particleAbility from '@ohos.ability.particleAbility' -var windowMode = featureAbility.AbilityStartSetting.WINDOW_MODE_KEY; -particleAbility.startAbility( - want: - { - bundleName: "com.jstest.featureabilitytest", - abilityName: "com.jstest.startabilitytest1.MainAbility", - }, - abilityStartSetting: - { - windowMode: featureAbility.AbilityWindowConfiguration.WINDOW_MODE_FLOATING, - }, - } - - ).then((void) => { - console.info("==========================>startAbilityCallback=======================>"); -}); -``` - - - -#### ParticleAbility.terminateSelf(callback: AsyncCallback\) - -- 接口说明 - - 摧毁服务ability(callback形式) - -- terminateSelf参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | -------------------- | ---- | -------------------- | - | callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | - -- 返回值 - - void - -- 示例 - -```js -import particleAbility from '@ohos.ability.particleAbility' -ParticleAbility.terminateSelf() -``` - - - -#### ParticleAbility.terminateSelf() - -- 接口说明 - - 摧毁服务ability(Promise形式) - -- 返回值 - - void - -- 示例 - -```js -import particleAbility from '@ohos.ability.particleAbility' -particleAbility.terminateSelf().then((void) => { - console.info("==========================>terminateSelfCallback=======================>"); -}); -``` - - - -#### ParticleAbility.acquireDataAbilityHelper(uri: string) - -- 接口说明 - - 获取dataAbilityHelper - -- acquireDataAbilityHelper参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | :--- | -------- | ------ | ---- | ---------------------- | - | uri | 只读 | string | 是 | 指示要打开的文件的路径 | - -- 返回值 - - 返回dataAbilityHelper - -- 示例 - -```js -import particleAbility from '@ohos.ability.particleAbility' -var uri = ""; -ParticleAbility.acquireDataAbilityHelper(uri) -``` - -#### ParticleAbility.connectAbility(*request*: Want, *options*:ConnectOptions): number - -* 接口说明 - - 将当前ability连接到指定ServiceAbility(callback形式) - -* connectAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------- | -------- | -------------- | ---- | -------------------------- | -| request | 只读 | Want | 是 | 表示被连接的ServiceAbility | -| options | 只读 | ConnectOptions | 是 | 被指定的回调方法 | - -- ConnectOptions类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------ | -------- | -------- | ---- | ---------------------------------- | -| onConnect | 只读 | function | 是 | 连接成功时的回调函数 | -| onDisconnect | 只读 | function | 是 | 连接失败时的回调函数 | -| onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数 | - -* 返回值 - - 连接的ServiceAbilityID。 - -* 示例 - -```javascript -import particleAbility from '@ohos.ability.particleAbility' -var mRemote; -var connId; -function onConnectCallback(element, remote){ - mRemote = remote; - console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); -} -function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) -} -function onFailedCallback(code){ - console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) -} -var connId = particleAbility.connectAbility( - { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", - }, - { - onConnect: onConnectCallback, - onDisconnect: onDisconnectCallback, - onFailed: onFailedCallback, - }, -); -``` - -#### ParticleAbility.disconnectAbility(connection: number, callback:AsyncCallback): void - -* 接口说明 - - 断开与指定ServiceAbility的连接(callback形式) - -* disconnectAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------------- | ---- | ------------------------------ | -| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | -| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 | - -* 返回值 - - 无 - -* 示例 - -```javascript -import particleAbility from '@ohos.ability.particleAbility' -var mRemote; -var connId; -function onConnectCallback(element, remote){ - mRemote = remote; - console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); -} -function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) -} -function onFailedCallback(code){ - console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) -} -var connId = particleAbility.connectAbility( - { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", - }, - { - onConnect: onConnectCallback, - onDisconnect: onDisconnectCallback, - onFailed: onFailedCallback, - }, -); -var result = particleAbility.disconnectAbility(connId, - (error,data) => { - console.log('particleAbilityTest DisConnectJsSameBundleName result errCode : ' + error.code + " data: " + data) - }, -); -``` - -#### ParticleAbility.disconnectAbility(connection: number): Promise; - -* 接口说明 - - 断开与指定ServiceAbility的连接(promise形式) - -* disconnectAbility参数描述 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ---------- | -------- | ------ | ---- | ------------------------------ | -| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | - -* 返回值 - - 无 - -* 示例 - -```javascript -import particleAbility from '@ohos.ability.particleAbility' -var mRemote; -var connId; -function onConnectCallback(element, remote){ - mRemote = remote; - console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); -} -function onDisconnectCallback(element){ - console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) -} -function onFailedCallback(code){ - console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) -} -var connId = particleAbility.connectAbility( - { - bundleName: "com.ix.ServiceAbility", - abilityName: "ServiceAbilityA", - }, - { - onConnect: onConnectCallback, - onDisconnect: onDisconnectCallback, - onFailed: onFailedCallback, - }, -); -var result = await particleAbility.disconnectAbility(connId); -``` - +# particleAbility模块 + +## 支持设备 + +| API | 手机 | 平板 | 智慧屏 | 智能穿戴 | 轻量级智能穿戴 | 智慧视觉设备 | +| ------------------------------------------------------------ | ---- | ---- | ------ | -------- | -------------- | ------------ | +| particleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\: void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.startAbility(parameter: StartAbilityParameter): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.terminateSelf(callback: AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.terminateSelf(): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.acquireDataAbilityHelper(uri: string): DataAbilityHelper | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.connectAbility(request: Want, options:ConnectOptions): number | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.disconnectAbility(connection: number, callback:AsyncCallback\): void | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | +| particleAbility.disconnectAbility(connection: number): Promise\ | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | + +## 使用限制 + +particleAbility模块用来对Data和Service类型的Ability进行操作 + +## 导入模块 + +```js +import particleAbility from '@ohos.ability.particleAbility' +``` + +## particleAbility.startAbility(parameter: StartAbilityParameter, callback: AsyncCallback\: void + +- 接口说明 + + 使用此方法启动指定的particleAbility(callback形式) + +- startAbility参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | ------------------------------------------------------- | ---- | ----------------- | +| parameter | 只读 | [StartAbilityParameter](#StartAbilityParameter类型说明) | 是 | 指示启动的ability | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +- 返回值 + + void + +- 示例 + +```js +import particleAbility from '@ohos.ability.particleAbility' +particleAbility.startAbility( + { + want: + { + action: "action.system.home", + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION; + deviceId: "", + bundleName: "com.example.Data", + abilityName: "com.example.Data.MainAbility", + uri:"" + }, + }, + (error, result) => { + console.log('particleAbility startAbility errCode:' + error + 'result:' + result) + }, +) +``` + + + +## particleAbility.startAbility(parameter: StartAbilityParameter): Promise\ + +- 接口说明 +使用此方法启动指定的particleAbility(Promise形式) + +- startAbility参数描述 + + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| --------- | -------- | ------------------------------------------------------- | ---- | ----------------- | +| parameter | 只读 | [StartAbilityParameter](#StartAbilityParameter类型说明) | 是 | 指示启动的ability | +- 返回值 + + Promise\ + +- 示例 + +```js +import particleAbility from '@ohos.ability.particleAbility' +particleAbility.startAbility( + { + want: + { + action: "action.system.home", + entities: ["entity.system.home"], + type: "MIMETYPE", + flags: FLAG_AUTH_READ_URI_PERMISSION; + deviceId: "", + bundleName: "com.example.Data", + abilityName: "com.example.Data.MainAbility", + uri:"" + }, + }, +).then((void) => { + console.info("particleAbility startAbility"); +}); +``` + + + +## particleAbility.terminateSelf(callback: AsyncCallback\): void + +- 接口说明 + + 终止particleAbility(callback形式) + +- terminateSelf参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| -------- | -------- | -------------------- | ---- | -------------------- | +| callback | 只读 | AsyncCallback\ | 是 | 表示被指定的回调方法 | + +- 返回值 + + void + +- 示例 + +```js +import particleAbility from '@ohos.ability.particleAbility' +particleAbility.terminateSelf( + (error, result) => { + console.log('particleAbility terminateSelf errCode:' + error + 'result:' + result) + } +) +``` + + + +## particleAbility.terminateSelf(): Promise\ + +- 接口说明 + + 终止particleAbility(Promise形式) + +- 返回值 + + Promise\ + +- 示例 + +```js +import particleAbility from '@ohos.ability.particleAbility' +particleAbility.terminateSelf().then((void) => { + console.info("particleAbility terminateSelf"); +}); +``` + + + +## particleAbility.acquireDataAbilityHelper(uri: string): DataAbilityHelper + +- 接口说明 + + 获取dataAbilityHelper + +- acquireDataAbilityHelper参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| :--- | -------- | ------ | ---- | ---------------------- | +| uri | 只读 | string | 是 | 指示要打开的文件的路径 | + +- 返回值 + +| 类型 | 说明 | +| ----------------- | ------------------------------------------ | +| DataAbilityHelper | 用来协助其他Ability访问DataAbility的工具类 | + +- 示例 + +```js +import particleAbility from '@ohos.ability.particleAbility' +var uri = ""; +particleAbility.acquireDataAbilityHelper(uri) +``` + +## particleAbility.connectAbility(request: Want, options:ConnectOptions): number + +* 接口说明 + + 将当前ability连接到指定ServiceAbility(callback形式) + +* connectAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------- | -------- | -------------- | ---- | -------------------------- | +| request | 只读 | Want | 是 | 表示被连接的ServiceAbility | +| options | 只读 | ConnectOptions | 是 | 被指定的回调方法 | + +- ConnectOptions类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------------ | -------- | -------- | ---- | ---------------------------------- | +| onConnect | 只读 | function | 是 | 连接成功时的回调函数 | +| onDisconnect | 只读 | function | 是 | 断开连接时的回调函数 | +| onFailed | 只读 | function | 是 | ConnectAbility调用失败时的回调函数 | + +* 返回值 + + 标识一次连接。 + +* 示例 + +```javascript +import particleAbility from '@ohos.ability.particleAbility' +function onConnectCallback(element, remote){ + console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); +} +function onDisconnectCallback(element){ + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) +} +function onFailedCallback(code){ + console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) +} +var connId = particleAbility.connectAbility( + { + bundleName: "com.ix.ServiceAbility", + abilityName: "com.ix.ServiceAbility.ServiceAbilityA", + }, + { + onConnect: onConnectCallback, + onDisconnect: onDisconnectCallback, + onFailed: onFailedCallback, + }, +); +``` + +## particleAbility.disconnectAbility(connection: number, callback:AsyncCallback\): void + +* 接口说明 + + 断开与指定ServiceAbility的连接(callback形式) + +* disconnectAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ------------- | ---- | ------------------------------ | +| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | +| callback | 只读 | AsyncCallback\ | 是 | 被指定的回调方法 | + +* 返回值 + + void + +* 示例 + +```javascript +import particleAbility from '@ohos.ability.particleAbility' +function onConnectCallback(element, remote){ + console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); +} +function onDisconnectCallback(element){ + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) +} +function onFailedCallback(code){ + console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) +} +var connId = particleAbility.connectAbility( + { + bundleName: "com.ix.ServiceAbility", + abilityName: "com.ix.ServiceAbility.ServiceAbilityA", + }, + { + onConnect: onConnectCallback, + onDisconnect: onDisconnectCallback, + onFailed: onFailedCallback, + }, +); +var result = particleAbility.disconnectAbility(connId, + (error,data) => { + console.log('particleAbilityTest DisConnectAbility result errCode : ' + error.code + " data: " + data) + }, +); +``` + +## particleAbility.disconnectAbility(connection: number): Promise\ + +* 接口说明 + + 断开与指定ServiceAbility的连接(promise形式) + +* disconnectAbility参数描述 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ---------- | -------- | ------ | ---- | ------------------------------ | +| connection | 只读 | number | 是 | 指定断开连接的ServiceAbilityID | + +* 返回值 + + Promise\ + +* 示例 + +```javascript +import particleAbility from '@ohos.ability.particleAbility' +function onConnectCallback(element, remote){ + console.log('ConnectAbility onConnect remote is proxy:' + (remote instanceof rpc.RemoteProxy)); +} +function onDisconnectCallback(element){ + console.log('ConnectAbility onDisconnect element.deviceId : ' + element.deviceId) +} +function onFailedCallback(code){ + console.log('particleAbilityTest ConnectAbility onFailed errCode : ' + code) +} +var connId = particleAbility.connectAbility( + { + bundleName: "com.ix.ServiceAbility", + abilityName: "com.ix.ServiceAbility.ServiceAbilityA", + }, + { + onConnect: onConnectCallback, + onDisconnect: onDisconnectCallback, + onFailed: onFailedCallback, + }, +); +var result = particleAbility.disconnectAbility(connId).then((void) => { + console.info("particleAbilityTest disconnectAbility"); +}); +``` + +## StartAbilityParameter类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ------------------- | -------- | --------------------- | ---- | ------------------------------------------------------------ | +| want | 只读 | [Want](#Want类型说明) | 是 | 表示需要包含有关目标启动能力的信息。 | +| abilityStartSetting | 只读 | {[key: string]: any} | 否 | 表示能力的特殊属性,当开发者启动能力时,该属性可以作为调用中的输入参数传递。 | + +## Want类型说明 + +| 名称 | 读写属性 | 类型 | 必填 | 描述 | +| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ | +| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 | +| bundleName | 只读 | string | 否 | 表示包描述。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | +| abilityName | 只读 | string | 否 | 表示待启动的Ability名称。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 | +| uri | 只读 | string | 否 | 表示Uri描述。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 | +| type | 只读 | string | 否 | 表示MIME type类型描述,比如:"text/plain" 、 "image/*"等。 | +| flags | 只读 | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](#flags说明)。 | +| action | 只读 | string | 否 | 表示action选项描述。 | +| parameters | 只读 | {[key: string]: any} | 否 | 表示WantParams描述。 | +| entities | 只读 | Array\ | 否 | 表示entities相关描述。 | + +## flags说明 + +| 名称 | 参数 | 描述 | +| ------------------------------------ | ---------- | ------------------------------------------------------------ | +| FLAG_AUTH_READ_URI_PERMISSION | 0x00000001 | 指示对URI执行读取操作的授权 | +| FLAG_AUTH_WRITE_URI_PERMISSION | 0x00000002 | 指示对URI执行写入操作的授权 | +| FLAG_ABILITY_FORWARD_RESULT | 0x00000004 | 将结果返回给源能力 | +| FLAG_ABILITY_CONTINUATION | 0x00000008 | 确定是否可以将本地设备上的功能迁移到远程设备 | +| FLAG_NOT_OHOS_COMPONENT | 0x00000010 | 指定组件是否属于OHOS | +| FLAG_ABILITY_FORM_ENABLED | 0x00000020 | 指定是否启动某个能力 | +| FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 0x00000040 | 指示URI上可能持久化的授权 | +| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 将结果返回到源能力 | +| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动 | +| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能 | +| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示迁移是可拉回的。 | +| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能 | +| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,使用后台模式安装该功能。 | +| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给{@link ohos.app.Context#startAbility}的{@code Want}设置此标志,并且必须与{@link flag_ABILITY_NEW_MISSION}一起使用 | +| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 | +| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 | + +## AbilityStartSetting类型说明 + +abilityStartSetting属性是一个定义为[key: string]: any的对象,key对应设定类型为:AbilityStartSetting枚举类型,value对应设定类型为:AbilityWindowConfiguration枚举类型。 + +使用时通过featureAbility.AbilityStartSetting获取,示例:featureAbility.AbilityStartSetting.BOUNDS_KEY。 + +| 名称 | 参数 | 描述 | +| --------------- | --------------- | -------------------------- | +| BOUNDS_KEY | "abilityBounds" | 窗口显示大小属性的名称。 | +| WINDOW_MODE_KEY | "windowMode" | 窗口显示模式属性的名称。 | +| DISPLAY_ID_KEY | "displayId" | 窗口显示设备ID属性的名称。 | + +## AbilityWindowConfiguration类型说明 + +使用时通过featureAbility.AbilityWindowConfiguration获取,示例:featureAbility.AbilityWindowConfiguration.WINDOW_MODE_UNDEFINED。 + +| 名称 | 参数 | 描述 | +| --------------------------- | ---- | ---------- | +| WINDOW_MODE_UNDEFINED | 0 | 未定义。 | +| WINDOW_MODE_FULLSCREEN | 1 | 全屏。 | +| WINDOW_MODE_SPLIT_PRIMARY | 100 | 分屏主屏。 | +| WINDOW_MODE_SPLIT_SECONDARY | 101 | 分屏次屏。 | +| WINDOW_MODE_FLOATING | 102 | 悬浮窗。 | \ No newline at end of file