diff --git a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md index 0d3be891fcd440697cc5e90b2bf763cdbb529996..9d24c4016b956c5504cf5fdfe6896441a13a9c97 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md +++ b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md @@ -490,8 +490,309 @@ bundle.getAllApplicationInfo(bundleFlags, (err, data) => { }) ``` +``## bundle.getAbilityInfo +getAbilityInfo(bundleName: string, abilityName: string): Promise\ +以异步方法根据给定的意图获取Ability信息,使用Promise形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | -------------------------------------------------------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | +| abilityName | string | 是 | 表示待查询的Ability名称。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------- | ---------------------------- | +| Promise\ | Promise形式返回Ability信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityInfo(bundleName, abilityName) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.getAbilityInfo + +getAbilityInfo(bundleName: string, abilityName: string): callback : +AsyncCallback\: void + +以异步方法根据给定的意图获取Ability信息,使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------------------------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | +| abilityName | string | 是 | 表示待查询的Ability名称。 | +| callback | AsyncCallback\ | 是 | 程序启动作为入参的回调函数,返回Ability信息。| + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityInfo(bundleName, abilityName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` + +## bundle.getAbilityLabel + +getAbilityLabel(bundleName: string, abilityName: string): Promise\ + +以异步方法根据给定的意图获取应用名称,使用Promise形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | -------------------------------------------------------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | +| abilityName | string | 是 | 表示待查询的Ability名称。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------- | ---------------------------- | +| Promise\ | Promise形式返回应用名称信息。 | + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityLabel(bundleName, abilityName) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.getAbilityLabel + +getAbilityLabel(bundleName: string, abilityName: string, callback : AsyncCallback\): void + +以异步方法根据给定的意图获取应用名称,使用callback形式返回结果。 + +**需要权限:** + +ohos.permission.GET_BUNDLE_INFO_PRIVILEGED,ohos.permission.GET_BUNDLE_INFO + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------------------------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | +| abilityName | string | 是 | 表示待查询的Ability名称。 | +| callback | AsyncCallback\ | 是 | 返回应用名称信息。| + +**示例:** + +```js +let bundleName = "com.example.myapplication"; +let abilityName = "com.example.myapplication.MainAbility"; +bundle.getAbilityLabel(bundleName, abilityName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` + +## bundle.isAbilityEnabled + +isAbilityEnabled(info: AbilityInfo): Promise\ + +以异步方法根据给定的意图查询ability是否已经启用,使用Promise形式返回结果。 + +**需要权限:** + +无 + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | ------------ | +| info | AbilityInfo | 是 | Ability的配置信息 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------- | ------------------------| +| Promise\ | Promise形式返回boolean代表是否启用。 | + +**示例:** + +```js +let Info = { + bundleName : "com.example.myapplication", + name : "com.example.myapplication.MainAbility" +}; +bundle.isAbilityEnabled(Info) +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.isAbilityEnabled + +isAbilityEnabled(info : AbilityInfo, callback : AsyncCallback\): void + +以异步方法根据给定的意图查询ability是否已经启用,使用callback形式返回结果。 + +**需要权限:** + +无 + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------------------------- | +| info | AbilityInfo | 是 | Ability的配置信息 | +| callback | AsyncCallback\ | 是 | 返回boolean代表是否启用 | + +**示例:** + +```js +let Info = { + bundleName : "com.example.myapplication", + name : "com.example.myapplication.MainAbility" +}; +bundle.isAbilityEnabled(Info, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` + +## bundle.isApplicationEnabled + +isApplicationEnabled(bundleName: string): Promise\ + +以异步方法根据给定的意图查询指定应用程序是否已经启用,使用Promise形式返回结果。 + +**需要权限:** + +无 + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | -------------------------------------------------------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------- | ------------------------| +| Promise\ | Promise形式返回boolean代表是否启用。 | + +**示例:** + +```js +let bundleName : "com.example.myapplication"; +bundle. + +.then((data) => { + console.info('Operation successful. Data: ' + JSON.stringify(data)); +}).catch((error) => { + console.error('Operation failed. Cause: ' + JSON.stringify(error)); +}) +``` + +## bundle.isApplicationEnabled + +isApplicationEnabled(bundleName: string, callback : AsyncCallback\): void + +以异步方法根据给定的意图查询指定应用程序是否已经启用,使用callback形式返回结果。 + +**需要权限:** + +无 + +**系统能力:** + +SystemCapability.BundleManager.BundleFramework + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ----------- | ------ | ---- | --------------------------------------------------------- | +| bundleName | string | 是 | 要查询的应用程序包名称。 | +| callback | AsyncCallback\ | 是 | 返回boolean代表是否启用 | + +**示例:** + +```js +let bundleName : "com.example.myapplication"; +bundle.isApplicationEnabled(bundleName, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}) +``` ## bundle.queryAbilityByWant 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 14a7f1841d615d5a94af830799d06ab1e7ac7aa3..8679db895b2369b4db61ef4521c742a526877053 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-Context.md +++ b/zh-cn/application-dev/reference/apis/js-apis-Context.md @@ -500,6 +500,397 @@ context.getCallingBundle().then((data) => { }); ``` +## Context.getCacheDir + +getCacheDir(callback: AsyncCallback\): void + +获取该应用程序的内部存储目录(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\ | 是 | 返回该应用程序的内部存储目录。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getCacheDir(); +context.getCacheDir((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getCacheDir + +getCacheDir(): Promise\ + +获取该应用程序的内部存储目录(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\ | 获取该应用程序的内部存储目录 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getCacheDir().then((data) => { + console.info("======================>getCacheDirPromsie====================>"); + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getFilesDir + +getFilesDir(callback: AsyncCallback\): void + +获取内部存储器上此应用程序的文件目录(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\ | 是 | 返回内部存储器上此应用程序的文件目录。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getFilesDir(); +context.getFilesDir((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getFilesDir + +getFilesDir(): Promise\ + +获取内部存储器上此应用程序的文件目录(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\ | 返回内部存储器上此应用程序的文件目录。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getFilesDir().then((data) => { + console.info("======================>getFilesDirPromsie====================>"); + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getOrCreateDistributedDir + +getOrCreateDistributedDir(callback: AsyncCallback\): void + +获取Ability或应用的分布式文件路径。 + +如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\ | 是 | 回调函数,可以在回调函数中处理接口返回值,返回Ability或应用的分布式文件路径。如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getOrCreateDistributedDir((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getOrCreateDistributedDir + +getOrCreateDistributedDir(): Promise\ + +获取Ability或应用的分布式文件路径。 + +如果分布式文件路径不存在,系统将创建一个路径并返回创建的路径(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\ | Ability或应用的分布式文件路径。如果是第一次调用,则将创建目录。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getOrCreateDistributedDir().then((data) => { + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getAppType + +getAppType(callback: AsyncCallback\): void + +获取此应用的类型(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\ | 是 | 回调函数,可以在回调函数中处理接口返回值,返回此应用程序的类型。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getAppType((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getAppType + +getAppType(): Promise\ + +获取此应用的类型(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\ | Promise形式返回此应用的类型。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getAppType().then((data) => { + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getHapModuleInfo + +getHapModuleInfo(callback: AsyncCallback\): void + +获取应用的ModuleInfo对象(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\<[HapModuleInfo](#hapmoduleinfo)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回应用的ModuleInfo对象。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getHapModuleInfo((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getHapModuleInfo + +getHapModuleInfo(): Promise\ + +获取应用的ModuleInfo对象(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\<[HapModuleInfo](#hapmoduleinfo)> | Promise形式返回应用的ModuleInfo对象。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getHapModuleInfo().then((data) => { + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getAppVersionInfo + +getAppVersionInfo(callback: AsyncCallback\): void + +获取应用的版本信息(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\<[AppVersionInfo](#appversioninfo)> | 是 | 回调函数,可以在回调函数中处理接口返回值,返回应用版本信息。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getAppVersionInfo((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getAppVersionInfo + +getAppVersionInfo(): Promise\ + +获取应用的版本信息(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\<[AppVersionInfo](#appversioninfo)> | 返回应用版本信息。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getAppVersionInfo().then((data) => { + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getAbilityInfo + +getAbilityInfo(callback: AsyncCallback\): void + +查询当前归属Ability详细信息(callback形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback\<[AbilityInfo](#abilityInfo)> | 是 |回调函数,可以在回调函数中处理接口返回值,返回当前归属Ability详细信息。| + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getAbilityInfo((err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Operation successful. Data:' + JSON.stringify(data)); +}); +``` + +## Context.getAbilityInfo + +getAbilityInfo(): Promise\ + +查询当前归属Ability详细信息(Promise形式)。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 类型 | 说明 | +| --------------- | ------------------------- | +| Promise\<[AbilityInfo](#abilityInfo)> | 返回当前归属Ability详细信息。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext(); +context.getAbilityInfo().then((data) => { + console.info("====>data====>" + JSON.stringify(data)); +}); +``` + +## Context.getApplicationContext + +getApplicationContext(): Context + +获取应用上下文信息。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.Core + +**返回值:** + +| 参数 | 类型 | 说明 | +| --------------- | ------------------------- |------ | +| Context | Context |返回应用版本信息。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility' +var context = featureAbility.getContext().getApplicationContext(); +``` + ## PermissionOptions **系统能力**:SystemCapability.Ability.AbilityRuntime.Core @@ -518,3 +909,34 @@ context.getCallingBundle().then((data) => { | requestCode | 只读 | number | 是 | 用户传入的请求代码。 | | permissions | 只读 | Array\ | 是 | 用户传入的权限。 | | authResults | 只读 | Array\ | 是 | 求权限的结果。 | + +## HapModuleInfo + +Hap模块信息 + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------ | ------ | ------ | +| name | string | 是 | 否 | 模块名称 | +| description | string | 是 | 否 | 模块描述信息 | +| descriptionId | number | 是 | 否 | 描述信息ID | +| icon | string | 是 | 否 | 模块图标 | +| label | string | 是 | 否 | 模块标签 | +| labelId | number | 是 | 否 | 模块标签ID | +| iconId | number | 是 | 否 | 模块图标ID | +| backgroundImg | string | 是 | 否 | 模块背景图片 | +| supportedModes | number | 是 | 否 | 模块支持的模式 | +| reqCapabilities | Array | 是 | 否 | 模块运行需要的能力 | +| deviceTypes | Array | 是 | 否 | 支持运行的设备类型 | +| abilityInfo | Array | 是 | 否 | Ability信息 | +| moduleName | string | 是 | 否 | 模块名 | +| mainAbilityName | string | 是 | 否 | 入口Ability名称 | +| installationFree | boolean | 是 | 否 | 是否支持免安装 | +| mainElementName | string | 是 | 否 | 入口ability信息 | + +## AppVersionInfo + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| ------ | ------ | ------| ------ | ------ | +| appName | string | 是 | 否 | 模块名称 | +| versionCode | number | 是 | 否 | 模块描述信息 | +| versionName | string | 是 | 否 | 描述信息ID | 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 ff10035a59a11d7d11204cbef82a5ff961a3455c..11e395281621055b23d1a5932f712206c1b9c81c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-dataAbilityHelper.md +++ b/zh-cn/application-dev/reference/apis/js-apis-dataAbilityHelper.md @@ -855,4 +855,78 @@ DAHelper.query( ).then((data) => { console.info("==========================>queryCallback=======================>"); }); -``` \ No newline at end of file +``` + +## DataAbilityHelper.call + +call(uri: string, method: string, arg: string, extras: PacMap): Promise + +调用DataAbility的扩展接口,使用Promise方式作为异步方法。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | --------------------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx" | +| method | string | 是 | 被调用的方法名。 | +| arg | string | 是 |需传入的参数。 | +| extras | [PacMap](#pacmap) | 是 | 键值对参数。 | + +**返回值:** + +| 类型 | 说明 | +|------ | ------- | +|Promise<[PacMap](#pacmap)> | 调用的返回值。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility'; + +let dataAbilityHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.jsapidemo.UserDataAbility"); +dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", "method", "arg", {"key1":"value1"}).then((data) => { + console.info('Operation succeeded: ' + data); +}).catch((error) => { + console.error('Operation failed. Cause: ' + error); +}); +``` + +## DataAbilityHelper.call + +call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback): void + +调用DataAbility的扩展接口,使用callback方式作为异步方法。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| ---------- | --------------------------------- | ---- | ------------------------------------------------ | +| uri | string | 是 | 指定待处理的DataAbility。例:"dataability:///com.example.xxx.xxxx" | +| method | string | 是 | 被调用的方法名。 | +| arg | string | 是 |需传入的参数。 | +| extras | [PacMap](#pacmap) | 是 | 键值对参数。 | +| callback | AsyncCallback<[PacMap](#pacmap)> | 是 | 返回值。 | + +**示例:** + +```js +import featureAbility from '@ohos.ability.featureAbility'; + +let dataAbilityHelper = featureAbility.acquireDataAbilityHelper("dataability:///com.example.jsapidemo.UserDataAbility"); +dataAbilityHelper.call("dataability:///com.example.jsapidemo.UserDataAbility", "method", "arg", {"key1":"value1"}, (err, data) => { + if (err) { + console.error('Operation failed. Cause: ' + err); + return; + } + console.info('Operation succeeded: ' + data); +}); +``` +## PacMap + +| 名称 | 参数类型 | 必填 | 说明 | +| ------ | ------ | ------ | ------ | +| [key: string] | number \| string \| boolean \| Array\ \| null | 是 | 数据存储在键值对中。 | \ No newline at end of file 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 5b64c1ca628089d4bdb9116543dd05c2acae07fa..5cff97c64a5352930e56d5ea192200f863fc808d 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-particleAbility.md +++ b/zh-cn/application-dev/reference/apis/js-apis-particleAbility.md @@ -450,4 +450,118 @@ particleAbility.cancelBackgroundRunning().then(() => { console.error("Operation failed Cause: " + err); }); -``` \ No newline at end of file +``` + +## particleAbility.connectAbility + +connectAbility(request: Want, options: ConnectOptions): number; + +将一个ability与服务类型的Ability绑定。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel + + **参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | request | Want | 是 | 服务类型Ability的want信息。 | + | options | [ConnectOptions](#connectoptions) | 是 | 客户端的回调对象。如果为空,抛出异常。 | + + **示例**: + +```js +import particleAbility from '@ohos.ability.particleAbility'; + +let request = { + "bundleName":"xxx.xxx.xxx", + "abilityName":"xxx", +} +let options = { + onConnect:function (elementName, proxy) {}, + onDisconnect:function (elementName) {}, + onFailed:function () {} +} +let connection= particleAbility.connectAbility(request, options); + +``` + +## particleAbility.disconnectAbility + +disconnectAbility(connection: number): Promise; + +将一个Ability与绑定的服务类型的Ability解绑,使用Promise形式返回。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel + + **参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | connection | number | 是 | [particleAbility.connectAbility](#particleAbiltiy.connectAbility)接口的返回值。 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ------------------------- | +| Promise\ | Promise形式返回接口调用结果。 | + + **示例**: + +```js +import particleAbility from '@ohos.ability.particleAbility'; + +particleAbility.disconnectAbility(connection).then((data) => { + console.info('Operation succeeded: ' + data); +}).catch((error) => { + console.error('Operation failed. Cause: ' + error); +}) + +``` + +## particleAbility.disconnectAbility + +disconnectAbility(connection: number, callback:AsyncCallback): void + +将一个Ability与绑定的服务类型的Ability解绑,使用callback形式返回。 + +**系统能力**:SystemCapability.Ability.AbilityRuntime.FAModel + + **参数:** + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | connection | number | 是 | [particleAbility.connectAbility](#particleAbility.connectAbility)接口的返回值。 | + | callback | AsyncCallback | 是 | callback形式返回接口调用结果。| + + **示例**: + +```js +import particleAbility from '@ohos.ability.particleAbility'; + +particleAbility.disconnectAbility(connection, (error, data) => { + if (error) { + console.error('Operation failed. Cause: ' + error); + return; + } + console.info('Operation succeeded: ' + data); +}); + +``` + +## ConnectOptions + +ConnectOptions数据结构。 + +| 名称 | 说明 | +| -------- | -------- | +| onConnect(elementName: ElementName, remote: IRemoteObject) | Ability成功连接一个服务类型Ability的回调接口。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core | +| onDisconnect(elementName:ElementName) | 对端服务发生异常或者被杀死回调该接口。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core | +| onFailed(code: number) | 连接失败时回调该接口。code属于[ErrorCode](#errorcode)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core | + +## ErrorCode + +使用时通过particleAbility.ErrorCode获取,示例:particleAbility.ErrorCode.NO_ERROR。 + +| 名称 | 值 | 说明 | +| -------- | ------ |-------- | +| INVALID_PARAMETER | -1 | 非法参数。 | \ No newline at end of file