提交 1573f17f 编写于 作者: D donglin

文档一致性补充缺失部分

Signed-off-by: Ndonglin <donglin9@huawei.com>
Change-Id: I31a7865fb408919050c4d9b652c0ca1ead32c3ae
上级 e1585bda
...@@ -12,17 +12,25 @@ ...@@ -12,17 +12,25 @@
- app/[context (Context模块)](js-apis-Context.md) - app/[context (Context模块)](js-apis-Context.md)
- Stage模型 - Stage模型
- [@ohos.application.Ability (Ability)](js-apis-application-ability.md) - [@ohos.app.ability.Ability (Ability)](js-apis-application-ability.md)
- [@ohos.app.ability.AbilityConstant (AbilityConstant)](js-apis-app-ability-abilityConstant.md)
- [@ohos.application.AbilityConstant (AbilityConstant)](js-apis-application-abilityConstant.md) - [@ohos.application.AbilityConstant (AbilityConstant)](js-apis-application-abilityConstant.md)
- [@ohos.app.ability.AbilityStage (AbilityStage)](js-apis-app-ability-abilitystage.md)
- [@ohos.application.AbilityStage (AbilityStage)](js-apis-application-abilitystage.md) - [@ohos.application.AbilityStage (AbilityStage)](js-apis-application-abilitystage.md)
- [@ohos.app.ability.abilityLifecycleCallback (AbilityLifecycleCallback)](js-apis-app-ability-abilityLifecycleCallback.md)
- [@ohos.application.abilityLifecycleCallback (AbilityLifecycleCallback)](js-apis-application-abilityLifecycleCallback.md) - [@ohos.application.abilityLifecycleCallback (AbilityLifecycleCallback)](js-apis-application-abilityLifecycleCallback.md)
- [@ohos.application.DataShareExtensionAbility (数据共享扩展能力)](js-apis-application-DataShareExtensionAbility.md) - [@ohos.application.DataShareExtensionAbility (数据共享扩展能力)](js-apis-application-DataShareExtensionAbility.md)
- [@ohos.app.ability.EnvironmentCallback (EnvironmentCallback)](js-apis-app-ability-EnvironmentCallback.md)
- [@ohos.application.EnvironmentCallback (EnvironmentCallback)](js-apis-application-EnvironmentCallback.md) - [@ohos.application.EnvironmentCallback (EnvironmentCallback)](js-apis-application-EnvironmentCallback.md)
- [@ohos.app.ability.FormExtension (FormExtension)](js-apis-app-ability-formextension.md)
- [@ohos.application.FormExtension (FormExtension)](js-apis-formextension.md) - [@ohos.application.FormExtension (FormExtension)](js-apis-formextension.md)
- [@ohos.app.ability.ServiceExtensionAbility (ServiceExtensionAbility)](js-apis-app-ability-service-extension-ability.md)
- [@ohos.application.ServiceExtensionAbility (ServiceExtensionAbility)](js-apis-service-extension-ability.md) - [@ohos.application.ServiceExtensionAbility (ServiceExtensionAbility)](js-apis-service-extension-ability.md)
- [@ohos.app.ability.StartOptions (StartOptions)](js-apis-app-ability-StartOptions.md)
- [@ohos.application.StartOptions (StartOptions)](js-apis-application-StartOptions.md) - [@ohos.application.StartOptions (StartOptions)](js-apis-application-StartOptions.md)
- [@ohos.application.StaticSubscriberExtensionAbility (StaticSubscriberExtensionAbility)](js-apis-application-staticSubscriberExtensionAbility.md) - [@ohos.application.StaticSubscriberExtensionAbility (StaticSubscriberExtensionAbility)](js-apis-application-staticSubscriberExtensionAbility.md)
- [@ohos.application.WindowExtensionAbility (窗口扩展能力)](js-apis-application-WindowExtensionAbility.md) - [@ohos.application.WindowExtensionAbility (窗口扩展能力)](js-apis-application-WindowExtensionAbility.md)
- [@ohos.application.ExtensionAbility](js-apis-application-ExtensionAbility.md)
- application/[AbilityContext (AbilityContext)](js-apis-ability-context.md) - application/[AbilityContext (AbilityContext)](js-apis-ability-context.md)
- application/[ApplicationContext (ApplicationContext)](js-apis-application-applicationContext.md) - application/[ApplicationContext (ApplicationContext)](js-apis-application-applicationContext.md)
- application/[AbilityStageContext (AbilityStageContext)](js-apis-abilitystagecontext.md) - application/[AbilityStageContext (AbilityStageContext)](js-apis-abilitystagecontext.md)
...@@ -35,22 +43,35 @@ ...@@ -35,22 +43,35 @@
- 通用 - 通用
- [@ohos.ability.dataUriUtils (DataUriUtils模块)](js-apis-DataUriUtils.md) - [@ohos.ability.dataUriUtils (DataUriUtils模块)](js-apis-DataUriUtils.md)
- [@ohos.ability.errorCode (ErrorCode)](js-apis-ability-errorCode.md) - [@ohos.ability.errorCode (ErrorCode)](js-apis-ability-errorCode.md)
- [@ohos.app.ability.wantConstant (wantConstant)](js-apis-app-ability-wantConstant.md)
- [@ohos.ability.wantConstant (wantConstant)](js-apis-ability-wantConstant.md) - [@ohos.ability.wantConstant (wantConstant)](js-apis-ability-wantConstant.md)
- [@ohos.application.abilityDelegatorRegistry (AbilityDelegatorRegistry)](js-apis-abilityDelegatorRegistry.md) - [@ohos.app.ability.quickFixManager (quickFixManager)](js-apis-app-ability-quickFixManager.md)
- [@ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry)](js-apis-abilityDelegatorRegistry.md)
- [@ohos.app.ability.abilityManager (AbilityManager)](js-apis-app-ability-abilityManager.md)
- [@ohos.application.abilityManager (AbilityManager)](js-apis-application-abilityManager.md) - [@ohos.application.abilityManager (AbilityManager)](js-apis-application-abilityManager.md)
- [@ohos.app.ability.appManager (appManager)](js-apis-app-ability-appmanager.md)
- [@ohos.application.appManager (appManager)](js-apis-appmanager.md) - [@ohos.application.appManager (appManager)](js-apis-appmanager.md)
- [@ohos.app.ability.Configuration (Configuration)](js-apis-app-ability-configuration.md)
- [@ohos.application.Configuration (Configuration)](js-apis-application-configuration.md) - [@ohos.application.Configuration (Configuration)](js-apis-application-configuration.md)
- [@ohos.app.ability.ConfigurationConstant (ConfigurationConstant)](js-apis-app-ability-configurationConstant.md)
- [@ohos.application.ConfigurationConstant (ConfigurationConstant)](js-apis-application-configurationConstant.md) - [@ohos.application.ConfigurationConstant (ConfigurationConstant)](js-apis-application-configurationConstant.md)
- [@ohos.app.ability.errorManager (ErrorManager)](js-apis-app-ability-errorManager.md)
- [@ohos.application.errorManager (ErrorManager)](js-apis-errorManager.md) - [@ohos.application.errorManager (ErrorManager)](js-apis-errorManager.md)
- [@ohos.app.abiltiy.formBindingData (卡片数据绑定类)](js-apis-app-ability-formbindingdata.md)
- [@ohos.application.formBindingData (卡片数据绑定类)](js-apis-formbindingdata.md) - [@ohos.application.formBindingData (卡片数据绑定类)](js-apis-formbindingdata.md)
- [@ohos.application.formError (FormError)](js-apis-formerror.md) - [@ohos.application.formError (FormError)](js-apis-formerror.md)
- [@ohos.app.ability.formHost (FormHost)](js-apis-app-ability-formhost.md)
- [@ohos.application.formHost (FormHost)](js-apis-formhost.md) - [@ohos.application.formHost (FormHost)](js-apis-formhost.md)
- [@ohos.app.ability.formInfo (FormInfo)](js-apis-app-ability-formInfo.md)
- [@ohos.application.formInfo (FormInfo)](js-apis-formInfo.md) - [@ohos.application.formInfo (FormInfo)](js-apis-formInfo.md)
- [@ohos.app.ability.formProvider (FormProvider)](js-apis-app-ability-formprovider.md)
- [@ohos.application.formProvider (FormProvider)](js-apis-formprovider.md) - [@ohos.application.formProvider (FormProvider)](js-apis-formprovider.md)
- [@ohos.app.ability.missionManager (missionManager)](js-apis-app-ability-missionManager.md)
- [@ohos.application.missionManager (missionManager)](js-apis-missionManager.md) - [@ohos.application.missionManager (missionManager)](js-apis-missionManager.md)
- [@ohos.application.quickFixManager (quickFixManager)](js-apis-application-quickFixManager.md) - [@ohos.app.ability.Want (Want)](js-apis-app-ability-Want.md)
- [@ohos.application.Want (Want)](js-apis-application-Want.md) - [@ohos.application.Want (Want)](js-apis-application-Want.md)
- [@ohos.continuation.continuationManager (continuationManager)](js-apis-continuation-continuationManager.md) - [@ohos.continuation.continuationManager (continuationManager)](js-apis-continuation-continuationManager.md)
- [@ohos.app.ability.wantAgent (WantAgent模块)](js-apis-app-ability-wantAgent.md)
- [@ohos.wantAgent (WantAgent模块)](js-apis-wantAgent.md) - [@ohos.wantAgent (WantAgent模块)](js-apis-wantAgent.md)
- ability/[abilityResult (AbilityResult)](js-apis-ability-abilityResult.md) - ability/[abilityResult (AbilityResult)](js-apis-ability-abilityResult.md)
- ability/[Want (Want)](js-apis-ability-Want.md) - ability/[Want (Want)](js-apis-ability-Want.md)
......
...@@ -4,7 +4,7 @@ Want是对象间信息传递的载体, 可以用于应用组件间的信息传 ...@@ -4,7 +4,7 @@ Want是对象间信息传递的载体, 可以用于应用组件间的信息传
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 6开始支持,从API version 9废弃,替换模块为[Want (Want)](js-apis-app-ability-Want.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
......
...@@ -4,7 +4,7 @@ wantConstant模块提供want中操作want常数和解释Flags说明的能力。 ...@@ -4,7 +4,7 @@ wantConstant模块提供want中操作want常数和解释Flags说明的能力。
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 6开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.wantConstant](js-apis-app-ability-wantConstant.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
...@@ -46,6 +46,7 @@ want操作的常数。 ...@@ -46,6 +46,7 @@ want操作的常数。
| ACTION_FILE_SELECT<sup>7+</sup> | ohos.action.fileSelect | 指示选择文件的操作。 | | ACTION_FILE_SELECT<sup>7+</sup> | ohos.action.fileSelect | 指示选择文件的操作。 |
| PARAMS_STREAM<sup>7+</sup> | ability.params.stream | 指示发送数据时与目标关联的数据流的URI | | PARAMS_STREAM<sup>7+</sup> | ability.params.stream | 指示发送数据时与目标关联的数据流的URI |
| ACTION_APP_ACCOUNT_OAUTH <sup>8+</sup> | ohos.account.appAccount.action.oauth | 指示提供oauth服务的操作。 | | ACTION_APP_ACCOUNT_OAUTH <sup>8+</sup> | ohos.account.appAccount.action.oauth | 指示提供oauth服务的操作。 |
| ACTION_APP_ACCOUNT_AUTH <sup>9+</sup> | account.appAccount.action.auth | 指示提供auth服务的操作。 |
| ACTION_MARKET_DOWNLOAD <sup>9+</sup> | ohos.want.action.marketDownload | 表示从应用程序市场下载应用程序的的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 | | ACTION_MARKET_DOWNLOAD <sup>9+</sup> | ohos.want.action.marketDownload | 表示从应用程序市场下载应用程序的的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| ACTION_MARKET_CROWDTEST <sup>9+</sup> | ohos.want.action.marketCrowdTest | 指示从应用程序市场众测应用程序的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 | | ACTION_MARKET_CROWDTEST <sup>9+</sup> | ohos.want.action.marketCrowdTest | 指示从应用程序市场众测应用程序的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| DLP_PARAMS_SANDBOX<sup>9+</sup> |ohos.dlp.params.sandbox | 指示沙盒标志的参数的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 | | DLP_PARAMS_SANDBOX<sup>9+</sup> |ohos.dlp.params.sandbox | 指示沙盒标志的参数的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
......
# EnvironmentCallback
EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated方法。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```js
import EnvironmentCallback from "@ohos.app.ability.EnvironmentCallback";
```
## EnvironmentCallback.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
注册系统环境变化的监听后,在系统环境变化时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 变化后的Configuration对象。 |
**示例:**
```js
import Ability from "@ohos.app.ability.Ability";
var callbackId;
export default class MyAbility extends Ability {
onCreate() {
console.log("MyAbility onCreate")
globalThis.applicationContext = this.context.getApplicationContext();
let EnvironmentCallback = {
onConfigurationUpdated(config){
console.log("onConfigurationUpdated config:" + JSON.stringify(config));
},
}
// 1.获取applicationContext
let applicationContext = globalThis.applicationContext;
// 2.通过applicationContext注册监听应用内生命周期
callbackId = applicationContext.on("environment", EnvironmentCallback);
console.log("registerEnvironmentCallback number: " + JSON.stringify(callbackId));
}
onDestroy() {
let applicationContext = globalThis.applicationContext;
try {
applicationContext.off("environment", callbackId, (error, data) => {
console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error));
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
}
}
```
\ No newline at end of file
# StartOptions
StartOptions模块对系统的基本通信组件进行查询和设置的能力。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```
import StartOptions from '@ohos.app.ability.StartOptions';
```
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| [windowMode](js-apis-application-abilityConstant.md#AbilityConstant.WindowMode) | 是 | 否 | number | 否 | 窗口模式。 |
| displayId | 是 | 否 | number | 否 | 显示ID。 |
# Want
Want是对象间信息传递的载体, 可以用于应用组件间的信息传递。 Want的使用场景之一是作为startAbility的参数, 其包含了指定的启动目标, 以及启动时需携带的相关数据, 如bundleName和abilityName字段分别指明目标Ability所在应用的包名以及对应包内的Ability名称。当Ability A需要启动Ability B并传入一些数据时, 可使用Want作为载体将这些数据传递给Ability B。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
| deviceId | 只读 | string | 否 | 表示运行指定Ability的设备ID。 |
| bundleName | 只读 | string | 否 | 表示包名。如果在Want中同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。 |
| abilityName | 只读 | string | 否 | 表示待启动的Ability名称。如果在Want中该字段同时指定了BundleName和AbilityName,则Want可以直接匹配到指定的Ability。AbilityName需要在一个应用的范围内保证唯一。 |
| uri | 只读 | string | 否 | 表示Uri。如果在Want中指定了Uri,则Want将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。 |
| type | 只读 | string | 否 | 表示MIME type类型,打开文件的类型,主要用于文管打开文件。比如:"text/xml" 、 "image/*"等,MIME定义参考:https://www.iana.org/assignments/media-types/media-types.xhtml?utm_source=ld246.com。 |
| flags | 只读 | number | 否 | 表示处理Want的方式。默认传数字,具体参考:[flags说明](js-apis-featureAbility.md#flags说明)。 |
| action | 只读 | string | 否 | 表示要执行的通用操作(如:查看、分享、应用详情)。在隐式Want中,您可以定义该字段,配合uri或parameters来表示对数据要执行的操作。 |
| parameters | 只读 | {[key: string]: any} | 否 | 表示WantParams,由开发者自行决定传入的键值对。默认会携带以下key值:<br>ohos.aafwk.callerPid 表示拉起方的pid。<br>ohos.aafwk.param.callerToken 表示拉起方的token。<br>ohos.aafwk.param.callerUid 表示[bundleInfo](js-apis-bundle-BundleInfo.md#bundleinfo-1)中的uid,应用包里应用程序的uid。 |
| entities | 只读 | Array\<string> | 否 | 表示目标Ability额外的类别信息(如:浏览器、视频播放器),在隐式Want中是对action字段的补充。在隐式Want中,您可以定义该字段,来过滤匹配Ability类型。 |
| moduleName<sup>9+</sup> | 只读 | string | 否 | 表示待启动的Ability所属的模块(module)。 |
具体字段描述参考ability/want.d.ts文件
**示例:**
- 基础用法
``` ts
var want = {
"deviceId": "", // deviceId为空表示本设备
"bundleName": "com.extreme.test",
"abilityName": "MainAbility",
"moduleName": "entry" // moduleName非必选
};
this.context.startAbility(want, (error) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
console.log("error.code = " + error.code)
})
```
- 传递FD数据,FD表示文件描述符(FileDescriptor)
``` ts
import fileio from '@ohos.fileio';
var fd;
try {
fd = fileio.openSync("/data/storage/el2/base/haps/pic.png");
} catch(e) {
console.log("openSync fail:" + JSON.stringify(e));
}
var want = {
"deviceId": "", // deviceId为空表示本设备
"bundleName": "com.extreme.test",
"abilityName": "MainAbility",
"moduleName": "entry", // moduleName非必选
"parameters": {
"keyFd":{"type":"FD", "value":fd}
}
};
this.context.startAbility(want, (error) => {
// 显式拉起Ability,通过bundleName、abilityName和moduleName可以唯一确定一个Ability
console.log("error.code = " + error.code)
})
```
<!--no_check-->
# AbilityConstant
AbilityConstant是启动参数的接口。
AbilityConstant提供启动参数的接口的能力,包括设置初次开始原因的类型、上次退出原因的类型、继续结果的类型。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```js
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
```
## 属性
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| launchReason | LaunchReason| 是 | 是 | 指示启动原因。 |
| lastExitReason | LastExitReason | 是 | 是 | 表示最后退出原因。 |
## AbilityConstant.LaunchReason
初次开始原因的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| UNKNOWN | 0 | 未知的状态。 |
| START_ABILITY | 1 | 启动能力。 |
| CALL | 2 | 呼叫。 |
| CONTINUATION | 3 | 继续。 |
| APP_RECOVERY | 4 | 状态恢复。 |
## AbilityConstant.LastExitReason
上次退出原因的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| UNKNOWN | 0 | 未知的状态。 |
| ABILITY_NOT_RESPONDING | 1 | 能力没有反应 |
| NORMAL | 2 | 正常的状态。 |
## AbilityConstant.OnContinueResult
继续结果的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| AGREE | 0 | 同意。 |
| REJECT | 1 | 拒绝。 |
| MISMATCH | 2 | 不匹配。|
## AbilityConstant.WindowMode
启动Ability时的窗口模式。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 取值 | 说明 |
| --- | --- | --- |
| WINDOW_MODE_UNDEFINED | 0 | 未定义窗口模式。 |
| WINDOW_MODE_FULLSCREEN | 1 | 全屏模式。 |
| WINDOW_MODE_SPLIT_PRIMARY | 100 | 分屏多窗口主要模式。 |
| WINDOW_MODE_SPLIT_SECONDARY | 101 | 分屏多窗口次要模式。 |
| WINDOW_MODE_FLOATING | 102 | 自由悬浮形式窗口模式。 |
## AbilityConstant.MemoryLevel
内存级别的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 取值 | 说明 |
| --- | --- | --- |
| MEMORY_LEVEL_MODERATE | 0 | 内存占用适中。 |
| MEMORY_LEVEL_LOW | 1 | 内存占用低。 |
| MEMORY_LEVEL_CRITICAL | 2 | 内存占用高。 |
## AbilityConstant.OnSaveResult
保存应用数据的结果类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| ALL_AGREE | 0 | 同意保存状态。 |
| CONTINUATION_REJECT | 1 | 拒绝迁移保存状态。 |
| CONTINUATION_MISMATCH | 2 | 迁移不匹配。|
| RECOVERY_AGREE | 3 | 同意恢复保存状态。 |
| RECOVERY_REJECT | 4 | 拒绝恢复保存状态。|
| ALL_REJECT | 5 | 拒绝保存状态。|
## AbilityConstant.StateType
保存应用数据场景原因类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 变量 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| CONTINUATION | 0 | 迁移保存状态。 |
| APP_RECOVERY | 1 | 应用恢复保存状态。 |
# AbilityDelegator
AbilityDelegator提供添加用于监视指定ability的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达OnCreate生命周期、设置等待时间等、获取指定ability的生命周期状态、获取当前应用顶部ability、启动指定ability等。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 使用说明
通过AbilityDelegatorRegistry中getAbilityDelegator方法获取。
```js
import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'
var abilityDelegator;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
```
## AbilityDelegator
### addAbilityMonitor
addAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void
添加AbilityMonitor实例(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填说明 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor, (err : any) => {
console.info("addAbilityMonitor callback");
});
```
### addAbilityMonitor
addAbilityMonitor(monitor: AbilityMonitor): Promise\<void>
添加AbilityMonitor实例(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityMonitor(monitor).then(() => {
console.info("addAbilityMonitor promise");
});
```
### removeAbilityMonitor
removeAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<void>): void
删除已经添加的AbilityMonitor实例(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor, (err : any) => {
console.info("removeAbilityMonitor callback");
});
```
### removeAbilityMonitor
removeAbilityMonitor(monitor: AbilityMonitor): Promise\<void>
删除已经添加的AbilityMonitor实例(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
- 示例
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityMonitor(monitor).then(() => {
console.info("removeAbilityMonitor promise");
});
```
### waitAbilityMonitor
waitAbilityMonitor(monitor: AbilityMonitor, callback: AsyncCallback\<Ability>): void
等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, (err : any, data : any) => {
console.info("waitAbilityMonitor callback");
});
```
### waitAbilityMonitor
waitAbilityMonitor(monitor: AbilityMonitor, timeout: number, callback: AsyncCallback\<Ability>): void
设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
| timeout | number | 是 | 最大等待时间,单位毫秒(ms) |
| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var timeout = 100;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor, timeout, (err : any, data : any) => {
console.info("waitAbilityMonitor callback");
});
```
### waitAbilityMonitor
waitAbilityMonitor(monitor: AbilityMonitor, timeout?: number): Promise\<Ability>
设置等待时间,等待与AbilityMonitor实例匹配的ability到达OnCreate生命周期,并返回ability实例(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor) | 是 | [AbilityMonitor](js-apis-app-ability-abilityMonitor.md#AbilityMonitor)实例 |
| timeout | number | 否 | 最大等待时间,单位毫秒(ms) |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | -------------------------- |
| Promise\<[Ability](js-apis-application-ability.md#Ability)> | 以Promise形式返回Ability。 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityMonitor(monitor).then((data : any) => {
console.info("waitAbilityMonitor promise");
});
```
### getAppContext
getAppContext(): Context
获取应用Context
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ------------------------------------- | ------------------------------------------- |
| [Context](js-apis-Context.md#Context) | 应用[Context](js-apis-Context.md#Context)。 |
**示例:**
```js
var abilityDelegator;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
var context = abilityDelegator.getAppContext();
```
### getAbilityState<sup>9+</sup>
getAbilityState(ability: Ability): number
获取指定ability的生命周期状态
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------- | ---- | --------------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------------------------------------ |
| number | 指定ability的生命周期状态。状态枚举值使用[AbilityLifecycleState](js-apis-abilityDelegatorRegistry.md#AbilityLifecycleState)。 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
var state = abilityDelegator.getAbilityState(ability);
console.info("getAbilityState" + state);
});
```
### getCurrentTopAbility
getCurrentTopAbility(callback: AsyncCallback\<Ability>): void
获取当前应用顶部ability(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------ |
| callback | AsyncCallback\<[Ability](js-apis-application-ability.md#Ability)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
});
```
### getCurrentTopAbility
getCurrentTopAbility(): Promise\<Ability>
获取当前应用顶部ability(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | -------------------------------------- |
| Promise\<[Ability](js-apis-application-ability.md#Ability)> | 以Promise形式返回当前应用顶部ability。 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility().then((data : any) => {
console.info("getCurrentTopAbility promise");
ability = data;
});
```
### startAbility
startAbility(want: Want, callback: AsyncCallback\<void>): void
启动指定ability(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | ------------------ |
| want | [Want](js-apis-app-ability-Want.md) | 是 | 启动Ability参数 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var want = {
bundleName: "bundleName",
abilityName: "abilityName"
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.startAbility(want, (err : any, data : any) => {
console.info("startAbility callback");
});
```
### startAbility
startAbility(want: Want): Promise\<void>
启动指定ability(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | --------------- |
| want | [Want](js-apis-app-ability-Want.md) | 是 | 启动Ability参数 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
var want = {
bundleName: "bundleName",
abilityName: "abilityName"
};
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.startAbility(want).then((data: any) => {
console.info("startAbility promise");
});
```
### doAbilityForeground
doAbilityForeground(ability: Ability, callback: AsyncCallback\<boolean>): void
调度指定ability生命周期状态到Foreground状态(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------- |
| ability | Ability | 是 | 指定Ability对象 |
| callback | AsyncCallback\<boolean> | 是 | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityForeground(ability, (err : any, data : any) => {
console.info("doAbilityForeground callback");
});
});
```
### doAbilityForeground
doAbilityForeground(ability: Ability): Promise\<boolean>
调度指定ability生命周期状态到Foreground状态(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | --------------- |
| ability | Ability | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityForeground(ability).then((data : any) => {
console.info("doAbilityForeground promise");
});
});
```
### doAbilityBackground
doAbilityBackground(ability: Ability, callback: AsyncCallback\<boolean>): void
调度指定ability生命周期状态到Background状态(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------- |
| ability | Ability | 是 | 指定Ability对象 |
| callback | AsyncCallback\<boolean> | 是 | 表示指定的回调方法<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityBackground(ability, (err : any, data : any) => {
console.info("doAbilityBackground callback");
});
});
```
### doAbilityBackground
doAbilityBackground(ability: Ability): Promise\<boolean>
调度指定ability生命周期状态到Background状态(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | --------------- |
| ability | Ability | 是 | 指定Ability对象 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<boolean> | 以Promise形式返回执行结果。<br/>\- true:成功<br/>\- false:失败 |
**示例:**
```js
var abilityDelegator;
var ability;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.getCurrentTopAbility((err : any, data : any) => {
console.info("getCurrentTopAbility callback");
ability = data;
abilityDelegator.doAbilityBackground(ability).then((data : any) => {
console.info("doAbilityBackground promise");
});
});
```
### printSync
printSync(msg: string): void
打印日志信息到单元测试终端控制台
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------- |
| msg | string | 是 | 日志字符串 |
**示例:**
```js
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.printSync(msg);
```
### print
print(msg: string, callback: AsyncCallback\<void>): void
打印日志信息到单元测试终端控制台(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------ |
| msg | string | 是 | 日志字符串 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.print(msg, (err : any) => {
console.info("print callback");
});
```
### print
print(msg: string): Promise\<void>
打印日志信息到单元测试终端控制台(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------- |
| msg | string | 是 | 日志字符串 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.print(msg).then(() => {
console.info("print promise");
});
```
### executeShellCommand
executeShellCommand(cmd: string, callback: AsyncCallback\<ShellCmdResult>): void
执行指定的shell命令(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------ |
| cmd | string | 是 | shell命令字符串 |
| callback | AsyncCallback\<[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var cmd = "cmd";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, (err : any, data : any) => {
console.info("executeShellCommand callback");
});
```
### executeShellCommand
executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback\<ShellCmdResult>): void
指定超时时间,并执行指定的shell命令(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------------------------------------------ | ---- | ----------------------------- |
| cmd | string | 是 | shell命令字符串 |
| timeoutSecs | number | 是 | 设定命令超时时间,单位秒(s) |
| callback | AsyncCallback\<[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var cmd = "cmd";
var timeout = 100;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, timeout, (err : any, data : any) => {
console.info("executeShellCommand callback");
});
```
### executeShellCommand
executeShellCommand(cmd: string, timeoutSecs?: number): Promise\<ShellCmdResult>
指定超时时间,并执行指定的shell命令(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------ | ---- | ----------------------------- |
| cmd | string | 是 | shell命令字符串 |
| timeoutSecs | number | 否 | 设定命令超时时间,单位秒(s) |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| Promise\<[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)> | 以Promise形式返回Shell命令执行结果[ShellCmdResult](js-apis-application-shellCmdResult.md#ShellCmdResult)对象。 |
**示例:**
```js
var abilityDelegator;
var cmd = "cmd";
var timeout = 100;
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.executeShellCommand(cmd, timeout).then((data : any) => {
console.info("executeShellCommand promise");
});
```
### finishTest
finishTest(msg: string, code: number, callback: AsyncCallback\<void>): void
结束测试并打印日志信息到单元测试终端控制台(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------ |
| msg | string | 是 | 日志字符串 |
| code | number | 是 | 日志码 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg, 0, (err : any) => {
console.info("finishTest callback");
});
```
### finishTest
finishTest(msg: string, code: number): Promise\<void>
结束测试并打印日志信息到单元测试终端控制台(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------- |
| msg | string | 是 | 日志字符串 |
| code | number | 是 | 日志码 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
var msg = "msg";
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.finishTest(msg, 0).then(() => {
console.info("finishTest promise");
});
```
### addAbilityStageMonitor
addAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<void>): void;
添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填说明 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityStageMonitor(monitor, (err : any) => {
console.info("addAbilityStageMonitor callback");
});
```
### addAbilityStageMonitor
addAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\<void>;
添加一个AbilityStageMonitor对象,用于监视指定abilityStage的生命周期状态更改。(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.addAbilityStageMonitor(monitor).then(() => {
console.info("addAbilityStageMonitor promise");
});
```
### removeAbilityStageMonitor
removeAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<void>): void;
从应用程序内存中删除指定的AbilityStageMonitor对象。(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填说明 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法 |
**示例:**
```js
var abilityDelegator;
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityStageMonitor(monitor, (err : any) => {
console.info("removeAbilityStageMonitor callback");
});
```
### removeAbilityStageMonitor
removeAbilityStageMonitor(monitor: AbilityStageMonitor): Promise\<void>;
从应用程序内存中删除指定的AbilityStageMonitor对象。(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<void> | 以Promise形式返回。 |
**示例:**
```js
var abilityDelegator;
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.removeAbilityStageMonitor(monitor).then(() => {
console.info("removeAbilityStageMonitor promise");
});
```
### waitAbilityStageMonitor
waitAbilityStageMonitor(monitor: AbilityStageMonitor, callback: AsyncCallback\<AbilityStage>): void;
等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式)
**系统能力:**SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填说明 | 说明 |
| -------- | ------------------------------------------------------------ | -------- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
| callback | AsyncCallback\<AbilityStage> | 是 | 成功返回AbilityStage对象,失败返回空。 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityStageMonitor(monitor, (err : any, data : any) => {
console.info("waitAbilityStageMonitor callback");
});
```
### waitAbilityStageMonitor
waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout?: number): Promise\<AbilityStage>;
等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(promise形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
| timeout | number | 否 | 超时最大等待时间,以毫秒为单位。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ------------------- |
| Promise\<AbilityStage> | 成功返回AbilityStage对象,失败返回空。 |
**示例:**
```js
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityStageMonitor(monitor).then((data : any) => {
console.info("waitAbilityStageMonitor promise");
});
```
### waitAbilityStageMonitor
waitAbilityStageMonitor(monitor: AbilityStageMonitor, timeout: number, callback: AsyncCallback\<AbilityStage>): void;
等待并返回与给定AbilityStageMonitor中设置的条件匹配的AbilityStage对象。(callback形式)
**系统能力:** SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| monitor | [AbilityStageMonitor](#abilitystagemonitor) | 是 | [AbilityStageMonitor](#abilitystagemonitor) 实例 |
| timeout | number | 否 | 超时最大等待时间,以毫秒为单位。 |
| callback | AsyncCallback\<AbilityStage> | 是 | 成功返回AbilityStage对象,失败返回空。 |
**示例:**
```js
var abilityDelegator;
var timeout = 100;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
moduleName: "moduleName",
srcEntrance: "srcEntrance",
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
abilityDelegator.waitAbilityStageMonitor(monitor, timeout, (err : any, data : any) => {
console.info("waitAbilityStageMonitor callback");
});
```
## AbilityStageMonitor
提供用于匹配满足指定条件的受监视的AbilityStage对象的方法。最近匹配的AbilityStage对象将保存在AbilityStageMonitor对象中。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------------------------------------------ | -------- | ---- | ---- | ------------------------------------------------------------ |
| moduleName | string | 是 | 是 | 要监视的abilityStage的模块名。 |
| srcEntrance | string | 是 | 是 | 要监视的abilityStage的源路径。 |
# AbilityLifecycleCallback
AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命周期监听方法的回调类的能力,包括onAbilityCreate、onWindowStageCreate、onWindowStageDestroy等方法。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```js
import AbilityLifecycleCallback from "@ohos.app.ability.AbilityLifecycleCallback";
```
## AbilityLifecycleCallback.onAbilityCreate
onAbilityCreate(ability: Ability): void;
注册监听应用上下文的生命周期后,在ability创建时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
## AbilityLifecycleCallback.onWindowStageCreate
onWindowStageCreate(ability: Ability, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage创建时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
| windowStage | [WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
## AbilityLifecycleCallback.onWindowStageActive
onWindowStageActive(ability: Ability, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage获焦时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
| windowStage | [WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
## AbilityLifecycleCallback.onWindowStageInactive
onWindowStageInactive(ability: Ability, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage失焦时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
| windowStage | [WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
## AbilityLifecycleCallback.onWindowStageDestroy
onWindowStageDestroy(ability: Ability, windowStage: window.WindowStage): void;
注册监听应用上下文的生命周期后,在windowStage销毁时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
| windowStage | [WindowStage](js-apis-window.md#windowstage9) | 是 | 当前WindowStage对象 |
## AbilityLifecycleCallback.onAbilityDestroy
onAbilityDestroy(ability: Ability): void;
注册监听应用上下文的生命周期后,在ability销毁时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
## AbilityLifecycleCallback.onAbilityForeground
onAbilityForeground(ability: Ability): void;
注册监听应用上下文的生命周期后,在ability的状态从后台转到前台时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
## AbilityLifecycleCallback.onAbilityBackground
onAbilityBackground(ability: Ability): void;
注册监听应用上下文的生命周期后,在ability的状态从前台转到后台时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
## AbilityLifecycleCallback.onAbilityContinue
onAbilityContinue(ability: Ability): void;
注册监听应用上下文的生命周期后,在ability迁移时触发回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| ability | [Ability](js-apis-application-ability.md#Ability) | 是 | 当前Ability对象 |
**示例:**
```js
import Ability from "@ohos.application.Ability";
export default class MyAbility extends Ability {
onCreate() {
console.log("MyAbility onCreate")
let AbilityLifecycleCallback = {
onAbilityCreate(ability){
console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability));
},
onWindowStageCreate(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + JSON.stringify(windowStage));
},
onWindowStageActive(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageActive ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + JSON.stringify(windowStage));
},
onWindowStageInactive(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + JSON.stringify(windowStage));
},
onWindowStageDestroy(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + JSON.stringify(windowStage));
},
onAbilityDestroy(ability){
console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability));
},
onAbilityForeground(ability){
console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability));
},
onAbilityBackground(ability){
console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability));
},
onAbilityContinue(ability){
console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability));
}
}
// 1.通过context属性获取applicationContext
let applicationContext = this.context.getApplicationContext();
// 2.通过applicationContext注册监听应用内生命周期
let lifecycleid = applicationContext.on("abilityLifecycle", AbilityLifecycleCallback);
console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleid));
},
onDestroy() {
let applicationContext = this.context.getApplicationContext();
applicationContext.off("abilityLifecycle", lifecycleid, (error, data) => {
console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));
});
}
}
```
\ No newline at end of file
# AbilityManager
AbilityManager模块提供对Ability相关信息和状态信息进行获取、新增、修改等能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口均为系统接口,三方应用不支持调用。
## 导入模块
```js
import AbilityManager from '@ohos.app.ability.abilityManager'
```
## AbilityState
Ability的状态信息。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| INITIAL | 0 | 表示ability为initial状态。|
| FOREGROUND | 9 | 表示ability为foreground状态。 |
| BACKGROUND | 10 | 表示ability为background状态。 |
| FOREGROUNDING | 11 | 表示ability为foregrounding状态。 |
| BACKGROUNDING | 12 | 表示ability为backgrounding状态。 |
## updateConfiguration
updateConfiguration(config: Configuration, callback: AsyncCallback\<void>): void
通过修改配置来更新配置(callback形式)。
**需要权限**: ohos.permission.UPDATE_CONFIGURATION
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| config | [Configuration](js-apis-app-ability-configuration.md) | 是 | 新的配置项。 |
| callback | AsyncCallback\<void> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
var config = {
language: 'chinese'
}
try {
abilitymanager.updateConfiguration(config, () => {
console.log('------------ updateConfiguration -----------');
})
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## updateConfiguration
updateConfiguration(config: Configuration): Promise\<void>
通过修改配置来更新配置(Promise形式)。
**需要权限**: ohos.permission.UPDATE_CONFIGURATION
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| config | [Configuration](js-apis-app-ability-configuration.md) | 是 | 新的配置项。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<void> | 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
var config = {
language: 'chinese'
}
try {
abilitymanager.updateConfiguration(config).then(() => {
console.log('updateConfiguration success');
}).catch((err) => {
console.log('updateConfiguration fail');
})
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## getAbilityRunningInfos
getAbilityRunningInfos(callback: AsyncCallback\<Array\<AbilityRunningInfo>>): void
获取Ability运行相关信息(callback形式)。
**需要权限**: ohos.permission.GET_RUNNING_INFO
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| callback | AsyncCallback\<Array\<AbilityRunningInfo>> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
try {
abilitymanager.getAbilityRunningInfos((err,data) => {
console.log("getAbilityRunningInfos err: " + err + " data: " + JSON.stringify(data));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## getAbilityRunningInfos
getAbilityRunningInfos(): Promise\<Array\<AbilityRunningInfo>>
获取Ability运行相关信息(Promise形式)。
**需要权限**: ohos.permission.GET_RUNNING_INFO
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<Array\<AbilityRunningInfo>> | 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
try {
abilitymanager.getAbilityRunningInfos().then((data) => {
console.log("getAbilityRunningInfos data: " + JSON.stringify(data))
}).catch((err) => {
console.log("getAbilityRunningInfos err: " + err)
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## getExtensionRunningInfos
getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback\<Array\<ExtensionRunningInfo>>): void
获取关于运行扩展能力的信息(callback形式)。
**需要权限**: ohos.permission.GET_RUNNING_INFO
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| upperLimit | number | 是 | 获取消息数量的最大限制。 |
| callback | AsyncCallback\<Array\<AbilityRunningInfo>> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
var upperLimit = 0;
try {
abilitymanager.getExtensionRunningInfos(upperLimit, (err,data) => {
console.log("getExtensionRunningInfos err: " + err + " data: " + JSON.stringify(data));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## getExtensionRunningInfos
getExtensionRunningInfos(upperLimit: number): Promise\<Array\<ExtensionRunningInfo>>
获取关于运行扩展能力的信息(Promise形式)。
**需要权限**: ohos.permission.GET_RUNNING_INFO
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| upperLimit | number | 是 | 获取消息数量的最大限制。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<Array\<AbilityRunningInfo>> | 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
var upperLimit = 0;
try {
abilitymanager.getExtensionRunningInfos(upperLimit).then((data) => {
console.log("getAbilityRunningInfos data: " + JSON.stringify(data));
}).catch((err) => {
console.log("getAbilityRunningInfos err: " + err);
})
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## getTopAbility<sup>9+</sup>
getTopAbility(callback: AsyncCallback\<ElementName>): void;
获取窗口焦点的ability接口(callback形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**参数**
| 名称 | 类型 | 必填 | 描述 |
| --------- | ---------------------------------------- | ---- | -------------- |
| callback | AsyncCallback\<ElementName> | 是 | 被指定的回调方法。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
try {
abilitymanager.getTopAbility((err,data) => {
console.log("getTopAbility err: " + err + " data: " + JSON.stringify(data));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## getTopAbility
getTopAbility(): Promise\<ElementName>;
获取窗口焦点的ability接口(Promise形式)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ------- |
| Promise\<ElementName>| 返回执行结果。 |
**示例**
```js
import abilitymanager from '@ohos.app.ability.abilityManager';
try {
abilitymanager.getTopAbility().then((data) => {
console.log("getTopAbility data: " + JSON.stringify(data));
}).catch((err) => {
console.log("getTopAbility err: " + err);
})
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
\ No newline at end of file
# AbilityMonitor
AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方法的能力,最近匹配的ability对象将保存在AbilityMonitor对象中。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 使用说明
通过abilityDelegator中的addAbilityMonitor来设置。
```js
import AbilityDelegatorRegistry from '@ohos.app.ability.abilityDelegatorRegistry'
var abilityDelegator;
function onAbilityCreateCallback(data) {
console.info("onAbilityCreateCallback");
}
var monitor = {
abilityName: "abilityname",
onAbilityCreate: onAbilityCreateCallback
}
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator();
try {
abilityDelegator.addAbilityMonitor(monitor, (err : any) => {
console.info("addAbilityMonitor callback");
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## AbilityMonitor
Ability监听器
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------------------------------------------ | -------- | ---- | ---- | ------------------------------------------------------------ |
| abilityName | string | 是 | 是 | 当前AbilityMonitor绑定的ability名称 |
| moduleName? | string | 是 | 是 | 当前AbilityMonitor绑定的module名称 |
| onAbilityCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被启动初始化时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityForeground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成前台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityBackground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成后台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityDestroy?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被销毁前的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> |
| onWindowStageCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被创建时的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> |
| onWindowStageRestore?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被重载时的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> |
| onWindowStageDestroy?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | window stage被销毁前的回调函数<br/>不设置该属性则不能收到该生命周期回调<br/> |
# AbilityStage
AbilityStage是HAP包的运行时类。
AbilityStage模块提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```js
import AbilityStage from '@ohos.app.ability.AbilityStage';
```
## AbilityStage.onCreate
onCreate(): void
当应用创建时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("MyAbilityStage.onCreate is called")
}
}
```
## AbilityStage.onAcceptWant
onAcceptWant(want: Want): string;
启动一个specified ability时触发的事件。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| string | 用户返回一个ability标识,如果之前启动过标识的ability,不创建新的实例并拉回栈顶,否则创建新的实例并启动。 |
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onAcceptWant(want) {
console.log("MyAbilityStage.onAcceptWant called");
return "com.example.test";
}
}
```
## AbilityStage.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
环境变化通知接口,发生全局配置变更时回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。 |
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, language:' + config.language);
}
}
```
## AbilityStage.onMemoryLevel
onMemoryLevel(level: AbilityConstant.MemoryLevel): void;
当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| level | [AbilityConstant.MemoryLevel](js-apis-application-abilityConstant.md#abilityconstantmemorylevel) | 是 | 回调返回内存微调级别,显示当前内存使用状态。|
**示例:**
```js
class MyAbilityStage extends AbilityStage {
onMemoryLevel(level) {
console.log('onMemoryLevel, level:' + JSON.stringify(level));
}
}
```
## AbilityStage.context
context: AbilityStageContext;
指示有关上下文的配置信息。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
| 属性名 | 类型 | 说明 |
| ----------- | --------------------------- | ------------------------------------------------------------ |
| context | [AbilityStageContext](js-apis-abilitystagecontext.md) | 在启动能力阶段进行初始化时回调。 |
# appManager
appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import app from '@ohos.app.ability.appManager';
```
## appManager.isRunningInStabilityTest
static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void
查询当前是否处于稳定性测试场景。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 否 | 返回当前是否处于稳定性测试场景。 |
**示例:**
```js
import app from '@ohos.app.ability.appManager';
app.isRunningInStabilityTest((err, flag) => {
console.log('startAbility result:' + JSON.stringify(err));
})
```
## appManager.isRunningInStabilityTest
static isRunningInStabilityTest(): Promise&lt;boolean&gt;
查询当前是否处于稳定性测试场景。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回当前是否处于稳定性测试场景。 |
**示例:**
```js
import app from '@ohos.app.ability.appManager';
app.isRunningInStabilityTest().then((flag) => {
console.log('success:' + JSON.stringify(flag));
}).catch((error) => {
console.log('failed:' + JSON.stringify(err));
});
```
## appManager.isRamConstrainedDevice
isRamConstrainedDevice(): Promise\<boolean>;
查询是否为ram受限设备。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 是否为ram受限设备。 |
**示例:**
```js
app.isRamConstrainedDevice().then((data) => {
console.log('success:' + JSON.stringify(data));
}).catch((error) => {
console.log('failed:' + JSON.stringify(err));
});
```
## appManager.isRamConstrainedDevice
isRamConstrainedDevice(callback: AsyncCallback\<boolean>): void;
查询是否为ram受限设备。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 否 | 返回当前是否是ram受限设备。 |
**示例:**
```js
app.isRamConstrainedDevice((err, data) => {
console.log('startAbility result failed:' + JSON.stringify(err));
console.log('startAbility result success:' + JSON.stringify(data));
})
```
## appManager.getAppMemorySize
getAppMemorySize(): Promise\<number>;
获取应用程序的内存大小。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;number&gt; | 应用程序内存大小。 |
**示例:**
```js
app.getAppMemorySize().then((data) => {
console.log('success:' + JSON.stringify(data));
}).catch((error) => {
console.log('failed:' + error.code + ', ' + error.message);
});
```
## appManager.getAppMemorySize
getAppMemorySize(callback: AsyncCallback\<number>): void;
获取应用程序的内存大小。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;number&gt; | 否 | 应用程序内存大小。 |
**示例:**
```js
app.getAppMemorySize((err, data) => {
console.log('startAbility result failed :' + JSON.stringify(err));
console.log('startAbility result success:' + JSON.stringify(data));
})
```
## appManager.getProcessRunningInformation
getProcessRunningInformation(): Promise\<Array\<ProcessRunningInformation>>;
获取有关运行进程的信息。
**需要权限**:ohos.permission.GET_RUNNING_INFO
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<Array\<[ProcessRunningInformation](#processrunninginformation)>> | 获取有关运行进程的信息。 |
**示例:**
```js
app.getProcessRunningInformation().then((data) => {
console.log('success:' + JSON.stringify(data));
}).catch((error) => {
console.log('failed:' + JSON.stringify(error));
});
```
## appManager.getProcessRunningInformation
getProcessRunningInformation(callback: AsyncCallback\<Array\<ProcessRunningInformation>>): void;
获取有关运行进程的信息。
**需要权限**:ohos.permission.GET_RUNNING_INFO
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback\<Array\<[ProcessRunningInformation](#processrunninginformation)>> | 否 | 获取有关运行进程的信息。 |
**示例:**
```js
app.getProcessRunningInformation((err, data) => {
console.log('startAbility result failed :' + JSON.stringify(error));
console.log('startAbility result success:' + JSON.stringify(data));
})
```
## appManager.on
on(type: "applicationState", observer: ApplicationStateObserver): number;
注册全部应用程序状态观测器。
**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observer | [ApplicationStateObserver](#applicationstateobserver) | 否 | 返回观察者的数字代码。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
try {
const observerCode = app.on(applicationStateObserver);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.on
on(type: "applicationState", observer: ApplicationStateObserver, bundleNameList: Array\<string>): number;
注册指定应用程序状态观测器。
**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observer | [ApplicationStateObserver](#applicationstateobserver) | 否 | 返回观察者的数字代码。 |
| bundleNameList | Array<string> | 否 | 表示需要注册监听的bundleName数组。最大值128。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
var bundleNameList = ['bundleName1', 'bundleName2'];
try {
const observerCode = app.on("applicationState", applicationStateObserver, bundleNameList);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.off
off(type: "applicationState", observerId: number, callback: AsyncCallback\<void>): void;
取消注册应用程序状态观测器。
**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observerId | number | 否 | 表示观察者的编号代码。 |
| callback | AsyncCallback\<void> | 否 | 表示指定的回调方法。 |
**示例:**
```js
var observerId = 100;
function unregisterApplicationStateObserverCallback(err) {
if (err) {
console.log('------------ unregisterApplicationStateObserverCallback ------------', err);
}
}
try {
app.off(observerId, unregisterApplicationStateObserverCallback);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.off
off(type: "applicationState", observerId: number): Promise\<void>;
取消注册应用程序状态观测器。
**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observerId | number | 否 | 表示观察者的编号代码。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |
**示例:**
```js
var observerId = 100;
try {
app.off(observerId)
.then((data) => {
console.log('----------- unregisterApplicationStateObserver success ----------', data);
})
.catch((err) => {
console.log('----------- unregisterApplicationStateObserver fail ----------', err);
})
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.getForegroundApplications
getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void;
获取前台进程的应用程序。
**需要权限**:ohos.permission.GET_RUNNING_INFO
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback\<Array\<AppStateData>> | 否 | 表示应用的状态数据。 |
**示例:**
```js
function getForegroundApplicationsCallback(err, data) {
if (err) {
console.log('--------- getForegroundApplicationsCallback fail ---------', err.code + ': ' + err.message);
} else {
console.log('--------- getForegroundApplicationsCallback success ---------', data)
}
}
app.getForegroundApplications(getForegroundApplicationsCallback);
```
## appManager.getForegroundApplications
getForegroundApplications(): Promise\<Array\<AppStateData>>;
获取前台进程的应用程序。
**需要权限**:ohos.permission.GET_RUNNING_INFO
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<Array\<ProcessRunningInfo>> | 返回进程运行信息的数组。 |
**示例:**
```js
app.getForegroundApplications()
.then((data) => {
console.log('--------- getForegroundApplications success -------', data);
})
.catch((err) => {
console.log('--------- getForegroundApplications fail -------', err.code + ': ' + err.message);
})
```
## appManager.killProcessWithAccount
killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\>
切断account进程(Promise形式)。
**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。 |
| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
**示例:**
```js
var bundleName = 'bundleName';
var accountId = 0;
try {
app.killProcessWithAccount(bundleName, accountId)
.then((data) => {
console.log('------------ killProcessWithAccount success ------------', data);
})
.catch((err) => {
console.log('------------ killProcessWithAccount fail ------------', err);
})
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.killProcessWithAccount
killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void
切断account进程(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用包名。 |
| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
| callback | AsyncCallback\<void\> | 是 | 切断account进程的回调函数。 |
**示例:**
```js
var bundleName = 'bundleName';
var accountId = 0;
function killProcessWithAccountCallback(err, data) {
if (err) {
console.log('------------- killProcessWithAccountCallback fail, err: --------------', err);
} else {
console.log('------------- killProcessWithAccountCallback success, data: --------------', data);
}
}
try {
app.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.killProcessesByBundleName
killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>);
通过包名终止进程。
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 否 | 表示包名。 |
| callback | AsyncCallback\<void> | 否 | 表示指定的回调方法。 |
**示例:**
```js
var bundleName = 'bundleName';
function killProcessesByBundleNameCallback(err, data) {
if (err) {
console.log('------------- killProcessesByBundleNameCallback fail, err: --------------', err);
} else {
console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data);
}
}
try {
app.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.killProcessesByBundleName
killProcessesByBundleName(bundleName: string): Promise\<void>;
通过包名终止进程。
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 否 | 表示包名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |
**示例:**
```js
var bundleName = 'bundleName';
try {
app.killProcessesByBundleName(bundleName)
.then((data) => {
console.log('------------ killProcessesByBundleName success ------------', data);
})
.catch((err) => {
console.log('------------ killProcessesByBundleName fail ------------', err);
})
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.clearUpApplicationData
clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>);
通过包名清除应用数据。
**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 否 | 表示包名。 |
| callback | AsyncCallback\<void> | 否 | 表示指定的回调方法。 |
**示例:**
```js
var bundleName = 'bundleName';
function clearUpApplicationDataCallback(err, data) {
if (err) {
console.log('------------- clearUpApplicationDataCallback fail, err: --------------', err);
} else {
console.log('------------- clearUpApplicationDataCallback success, data: --------------', data);
}
}
try {
app.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## appManager.clearUpApplicationData
clearUpApplicationData(bundleName: string): Promise\<void>;
通过包名清除应用数据。
**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 否 | 表示包名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |
**示例:**
```js
var bundleName = 'bundleName';
try {
app.clearUpApplicationData(bundleName)
.then((data) => {
console.log('------------ clearUpApplicationData success ------------', data);
})
.catch((err) => {
console.log('------------ clearUpApplicationData fail ------------', err);
})
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## ApplicationStateObserver.onForegroundApplicationChanged
onForegroundApplicationChanged(appStateData: AppStateData): void;
将在前台或后台应用程序更改时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| appStateData | [AppStateData](#appstatedata) | 否 | 状态更改的应用程序信息。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
try {
const observerCode = app.on("applicationState", applicationStateObserver);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## ApplicationStateObserver.onAbilityStateChanged
onAbilityStateChanged(abilityStateData: AbilityStateData): void;
将在能力状态更改时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| abilityStateData | [AbilityStateData](#abilitystatedata) | 否 | 状态更改的能力信息。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
try {
const observerCode = app.on("applicationState", applicationStateObserver);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## ApplicationStateObserver.onProcessCreated
onProcessCreated(processData: ProcessData): void;
将在创建进程时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| processData | [ProcessData](#processdata) | 否 | 进程信息。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
try {
const observerCode = app.on("applicationState", applicationStateObserver);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## ApplicationStateObserver.onProcessDied
onProcessDied(processData: ProcessData): void;
将在进程终止时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| processData | [ProcessData](#processdata) | 否 | 进程信息。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
try {
const observerCode = app.on("applicationState", applicationStateObserver);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## ApplicationStateObserver.onProcessStateChanged
onProcessStateChanged(processData: ProcessData): void;
当进程状态更改时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| processData | [ProcessData](#processdata) | 否 | 进程信息。 |
**示例:**
```js
var applicationStateObserver = {
onForegroundApplicationChanged(appStateData) {
console.log('------------ onForegroundApplicationChanged -----------', appStateData);
},
onAbilityStateChanged(abilityStateData) {
console.log('------------ onAbilityStateChanged -----------', abilityStateData);
},
onProcessCreated(processData) {
console.log('------------ onProcessCreated -----------', processData);
},
onProcessDied(processData) {
console.log('------------ onProcessDied -----------', processData);
},
onProcessStateChanged(processData) {
console.log('------------ onProcessStateChanged -----------', processData);
}
}
try {
const observerCode = app.on("applicationState", applicationStateObserver);
console.log('-------- observerCode: ---------', observerCode);
} catch (paramError) {
console.log('error: ' + paramError.code + ', ' + paramError.message);
}
```
## AppStateData
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 否 | 包名。 |
| uid | 只读 | number | 否 | 用户ID。 |
| state | 只读 | number | 否 | 应用状态。 |
## AbilityStateData
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------------------- | ---------| ---- | ---- | ------------------------- |
| pid | number | 是 | 否 | 进程ID。 |
| bundleName | string | 是 | 否 | 应用包名。 |
| abilityName | string | 是 | 否 | Ability名称。 |
| uid | number | 是 | 否 | 用户ID。 |
| state | number | 是 | 否 | Ability状态。 |
| moduleName | string | 是 | 否 | Ability所属的HAP包的名称。 |
| abilityType | string | 是 | 否 | 能力类型、页面或服务等。 |
## ProcessData
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------------------- | ---------| ---- | ---- | ------------------------- |
| pid | number | 是 | 否 | 进程ID。 |
| bundleName | string | 是 | 否 | 应用包名。 |
| uid | number | 是 | 否 | 用户ID。 |
| isContinuousTas | boolean | 是 | 否 | 判断过程是否为连续任务。 |
| isKeepAlive | boolean | 是 | 否 | 判断该过程是否保持活跃。 |
## ProcessRunningInfo
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
| pid | 只读 | number | 否 | 进程ID。 |
| uid | 只读 | number | 否 | 用户ID。 |
| processName | 只读 | string | 否 | 进程的名称。 |
| bundleNames | 只读 | Array\<string> | 否 | 进程中运行的bundleName数组。 |
## ApplicationStateObserver
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
**系统API**:该接口为系统接口,三方应用不支持调用。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------------------- | ---------| ---- | ---- | ------------------------- |
| [onForegroundApplicationChanged](#applicationstateobserveronforegroundapplicationchanged8) | AsyncCallback\<void> | 是 | 否 | 应用前后台状态发生变化时执行的回调函数。 |
| [onAbilityStateChanged](#applicationstateobserveronabilitystatechanged8) | AsyncCallback\<void> | 是 | 否 | ability状态发生变化时执行的回调函数。 |
| [onProcessCreated](#applicationstateobserveronprocesscreated8) | AsyncCallback\<void> | 是 | 否 | 进程创建时执行的回调函数。 |
| [onProcessDied](#applicationstateobserveronprocessdied8) | AsyncCallback\<void> | 是 | 否 | 进程销毁时执行的回调函数。 |
## ProcessRunningInformation
进程的运行信息。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 读写属性 | 类型 | 必填 | 描述 |
| ----------- | -------- | -------------------- | ---- | ------------------------------------------------------------ |
| pid | 只读 | number | 否 | 进程ID。 |
| uid | 只读 | number | 否 | 用户ID。 |
| processName | 只读 | string | 否 | 进程的名称。 |
| bundleNames | 只读 | Array\<string> | 否 | 进程中运行的bundleName数组。 |
## ApplicationState
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
| 名称 | 值 | 描述 |
| -------------------- | --- | --------------------------------- |
| STATE_CREATE | 1 | 当应用在创建中的时候处于的状态。 |
| STATE_FOREGROUND | 2 | 当应用切换到前台的时候处于的状态。 |
| STATE_ACTIVE | 3 | 当应用在获焦的时候处于的状态。 |
| STATE_BACKGROUND | 4 | 当应用处于后台不可见时处于的状态。 |
| STATE_DESTROY | 5 | 当应用在销毁的时候处于的状态。 |
## ProcessState
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
| 名称 | 值 | 描述 |
| -------------------- | --- | --------------------------------- |
| STATE_CREATE | 1 | 当进程在创建中的时候处于的状态。 |
| STATE_FOREGROUND | 2 | 当进程切换到前台的时候处于的状态。 |
| STATE_ACTIVE | 3 | 当进程在获焦的时候处于的状态。 |
| STATE_BACKGROUND | 4 | 当进程处于后台不可见时处于的状态。 |
| STATE_DESTROY | 5 | 当进程在销毁的时候处于的状态。 |
# Configuration
定义环境变化信息。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| language | string | 是 | 是 | 表示应用程序的当前语言。 |
| colorMode | [ColorMode](js-apis-app-ability-configurationconstant.md#configurationconstantcolormode) | 是 | 是 | 表示深浅色模式,取值范围:浅色模式(COLOR_MODE_LIGHT),深色模式(COLOR_MODE_DARK)。默认为浅色。 |
| direction | Direction | 是 | 否 | 表示屏幕方向,取值范围:水平方向(DIRECTION_HORIZONTAL),垂直方向(DIRECTION_VERTICAL)。 |
| screenDensity | ScreenDensity | 是 | 否 | 表示屏幕分辨率,取值范围:SCREEN_DENSITY_SDPI(120)、SCREEN_DENSITY_MDPI(160)、SCREEN_DENSITY_LDPI(240)、SCREEN_DENSITY_XLDPI(320)、SCREEN_DENSITY_XXLDPI(480)、SCREEN_DENSITY_XXXLDPI(640)。 |
| displayId | number | 是 | 否 | 表示应用所在的物理屏幕Id。 |
| hasPointerDevice | boolean | 是 | 否 | 指示指针类型设备是否已连接,如键鼠、触控板等。 |
具体字段描述参考ohos.app.ability.Configuration.d.ts文件
**示例:**
```ts
let envCallback = {
onConfigurationUpdated(config) {
console.info(`envCallback onConfigurationUpdated success: ${JSON.stringify(config)}`)
let language = config.language;
let colorMode = config.colorMode;
let direction = config.direction;
let screenDensity = config.screenDensity;
let displayId = config.displayId;
let hasPointerDevice = config.hasPointerDevice;
}
};
try {
var callbackId = applicationContext.on("environment", envCallback);
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
# ConfigurationConstant
ConfigurationConstant模块提供配置信息枚举值定义的能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import ConfigurationConstant from '@ohos.app.ability.ConfigurationConstant';
```
## ConfigurationConstant.ColorMode
使用时通过ConfigurationConstant.ColorMode获取。
**示例:**
```
ConfigurationConstant.ColorMode.COLOR_MODE_LIGHT
```
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| COLOR_MODE_NOT_SET | -1 | 未设置颜色模式。 |
| COLOR_MODE_DARK | 0 | 深色模式。 |
| COLOR_MODE_LIGHT | 1 | 浅色模式。 |
## ConfigurationConstant.Direction
使用时通过ConfigurationConstant.Direction获取。
**示例:**
```
ConfigurationConstant.Direction.DIRECTION_VERTICAL
```
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| DIRECTION_NOT_SET | -1 | 未设置方向。 |
| DIRECTION_VERTICAL | 0 | 垂直方向。 |
| DIRECTION_HORIZONTAL | 1 | 水平方向。 |
## ConfigurationConstant.ScreenDensity
使用时通过ConfigurationConstant.ScreenDensity获取。
**示例:**
```
ConfigurationConstant.ScreenDensity.SCREEN_DENSITY_NOT_SET
```
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
| SCREEN_DENSITY_NOT_SET | 0 | 未设置屏幕分辨率。 |
| SCREEN_DENSITY_SDPI | 120 | 屏幕分辨率为"sdpi"。 |
| SCREEN_DENSITY_MDPI | 160 | 屏幕分辨率为"mdpi"。 |
| SCREEN_DENSITY_LDPI | 240 | 屏幕分辨率为"ldpi"。 |
| SCREEN_DENSITY_XLDPI | 320 | 屏幕分辨率为"xldpi"。 |
| SCREEN_DENSITY_XXLDPI | 480 | 屏幕分辨率为"xxldpi"。 |
| SCREEN_DENSITY_XXXLDPI | 640 | 屏幕分辨率为"xxxldpi"。 |
# ErrorManager
ErrorManager模块提供对错误观察器的注册和注销的能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import errorManager from '@ohos.app.ability.errorManager'
```
## ErrorManager.on
on(type: "error", observer: ErrorObserver): number;
注册错误观测器。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observer | [ErrorObserver](#errorobserver) | 否 | 返回观察者的数字代码。 |
**示例:**
```js
var observer = {
onUnhandledException(errorMsg) {
console.log('onUnhandledException, errorMsg: ', errorMsg)
}
}
try {
errorManager.on("error", observer);
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## ErrorManager.off
off(type: "error", observerId: number, callback: AsyncCallback\<void>): void;
注销错误观测器。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observerId | number | 否 | 返回观察者的数字代码。 |
| callback | AsyncCallback\<void> | 否 | 表示指定的回调方法。 |
**示例:**
```js
var observerId = 100;
function unregisterErrorObserverCallback(err) {
if (err) {
console.log('------------ unregisterErrorObserverCallback ------------', err);
}
}
try {
errorManager.off("error", observerId, unregisterErrorObserverCallback);
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## ErrorManager.off
off(type: "error", observerId: number): Promise\<void>;
注销错误观测器。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 调用接口类型 |
| observerId | number | 否 | 返回观察者的数字代码。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |
**示例:**
```js
var observerId = 100;
try {
errorManager.off("error", observerId)
.then((data) => {
console.log('----------- unregisterErrorObserver success ----------', data);
})
.catch((err) => {
console.log('----------- unregisterErrorObserver fail ----------', err);
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## ErrorObserver
onUnhandledException(errMsg: string): void;
将在js运行时引发用户未捕获的异常时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| errMsg | string | 否 | 有关异常的消息和错误堆栈跟踪。 |
**示例:**
```js
var observer = {
onUnhandledException(errorMsg) {
console.log('onUnhandledException, errorMsg: ', errorMsg)
}
}
errorManager.on(observer)
```
\ No newline at end of file
# FormInfo
FormInfo模块提供对卡片的相关卡片信息和状态进行设置和查询的能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import formInfo from '@ohos.app.ability.formInfo';
```
## 权限
## FormInfo
卡片信息
**系统能力**:SystemCapability.Ability.Form
| 名称 | 读写属性 | 类型 | 描述 |
| ----------- | -------- | -------------------- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 表示卡片所属包的包名。 |
| moduleName | 只读 | string | 表示卡片所属模块的模块名。 |
| abilityName | 只读 | string | 表示卡片所属的Ability名称。 |
| name | 只读 | string | 表示卡片名称。 |
| description | 只读 | string | 表示卡片描述。 |
| type | 只读 | [FormType](#formtype) | 表示卡片类型,当前支持JS卡片。 |
| jsComponentName | 只读 | string | 表示js卡片的组件名。 |
| colorMode | 只读 | [ColorMode](#colormode) | 表示卡片颜色模式。 |
| isDefault | 只读 | boolean | 表示是否是默认卡片。 |
| updateEnabled | 只读 | boolean | 表示卡片是否使能更新。 |
| formVisibleNotify | 只读 | string | 表示卡片是否使能可见通知。 |
| relatedBundleName | 只读 | string | 表示卡片所属的相关联包名。 |
| scheduledUpdateTime | 只读 | string | 表示卡片更新时间。 |
| formConfigAbility | 只读 | string | 表示卡片配置ability。 |
| updateDuration | 只读 | string | 表示卡片更新周期。 |
| defaultDimension | 只读 | number | 表示卡片规格 |
| supportDimensions | 只读 | Array&lt;number&gt; | 表示卡片支持的规格。 |
| customizeData | 只读 | {[key: string]: [value: string]} | 表示卡片用户数据。 |
## FormType
枚举,支持的卡片类型。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| JS | 1 | 卡片类型为JS。 |
| eTS | 2 | 卡片类型为eTS。 |
## ColorMode
枚举,卡片支持的颜色模式。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| MODE_AUTO | -1 | 自动模式。 |
| MODE_DARK | 0 | 暗色。 |
| MODE_LIGHT | 1 | 亮色。 |
## FormStateInfo
卡片状态信息。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 读写属性 | 类型 | 描述 |
| ----------- | -------- | -------------------- | ------------------------------------------------------------ |
| formState | 只读 | [FormState](#formstate) | 表示卡片状态。 |
| want | 只读 | Want | Want文本内容。 |
## FormState
枚举,卡片状态。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| UNKNOWN | -1 | 未知状态。 |
| DEFAULT | 0 | 默认状态。 |
| READY | 1 | 就绪状态。 |
## FormParam
枚举,卡片参数。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| IDENTITY_KEY | "ohos.extra.param.key.form_identity" | 卡片标识。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。 |
| DIMENSION_KEY | "ohos.extra.param.key.form_dimension" | 卡片规格样式。 |
| NAME_KEY | "ohos.extra.param.key.form_name" | 卡片名称。 |
| MODULE_NAME_KEY | "ohos.extra.param.key.module_name" | 卡片所属模块名称。 |
| WIDTH_KEY | "ohos.extra.param.key.form_width" | 卡片宽度。 |
| HEIGHT_KEY | "ohos.extra.param.key.form_height" | 卡片高度。 |
| TEMPORARY_KEY | "ohos.extra.param.key.form_temporary" | 临时卡片。 |
| ABILITY_NAME_KEY | "ohos.extra.param.key.ability_name" | ability名称 |
| DEVICE_ID_KEY | "ohos.extra.param.key.device_id" | 设备标识。<br/>此接口为系统接口。 |
| BUNDLE_NAME_KEY | "ohos.extra.param.key.bundle_name" | 指示指定要获取的捆绑包名称的键。|
## FormDimension
定义卡片尺寸枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| Dimension_1_2 | 1 | 1 x 2 form。 |
| Dimension_2_2 | 2 | 2 x 2 form。 |
| Dimension_2_4 | 3 | 2 x 4 form。 |
| Dimension_4_4 | 4 | 4 x 4 form。 |
| Dimension_2_1 | 5 | 2 x 1 form。 |
## VisibilityType
卡片可见性。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| FORM_VISIBLE | 1 | 卡片状态为可见。 |
| FORM_INVISIBLE | 2 | 卡片状态为不可见。 |
## FormInfoFilter
卡片信息过滤器,仅将符合过滤器内要求的卡片信息返回。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 必选 | 说明 |
| ----------- | ---- | ------------ |
| moduleName | 否 | 可选字段,表示仅保留moduleName与提供值相符的卡片信息。 |
# 卡片数据绑定类
卡片数据绑定模块提供卡片数据绑定的能力。包括FormBindingData对象的创建、相关信息的描述。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import formBindingData from '@ohos.app.ability.formBindingData';
```
## 权限
## formBindingData.createFormBindingData
createFormBindingData(obj?: Object | string): FormBindingData
创建一个FormBindingData对象。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------- | ---- | ------------------------------------------------------------ |
| obj | Object或string | 否 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以"formImages"作为标识,内容为图片标识与图片文件描述符的键值对{"formImages": {"key1": fd1, "key2": fd2}} |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | --------------------------------------- |
| [FormBindingData](#formbindingdata) | 根据传入数据创建的FormBindingData对象。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility';
import fileio from '@ohos.fileio';
let context=featureAbility.getContext();
context.getOrCreateLocalDir((err,data)=>{
let path=data+"/xxx.jpg";
let fd = fileio.openSync(path);
let obj = {
"temperature": "21°",
"formImages": {"image": fd}
};
let formBindingDataObj = formBindingData.createFormBindingData(obj);
})
```
## 属性
FormBindingData相关描述。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| data | 是 | 否 | Object | 是 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。|
# FormExtension
FormExtension模块提供了FormExtension卡片扩展相关接口。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```
import FormExtension from '@ohos.app.ability.FormExtension';
```
## 权限
## 属性
**系统能力**:SystemCapability.Ability.Form
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------- | ------------------------------------------------------- | ---- | ---- | --------------------------------------------------- |
| context | [FormExtensionContext](js-apis-formextensioncontext.md) | 是 | 否 | FormExtension的上下文环境,继承自ExtensionContext。 |
## onCreate
onCreate(want: Want): formBindingData.FormBindingData
卡片提供方接收创建卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-app-ability-application-Want.md) | 是 | 当前Extension相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| [formBindingData.FormBindingData](js-apis-app-ability-formbindingdata.md#formbindingdata) | 一个formBindingData.FormBindingData对象,卡片要显示的数据。 |
**示例:**
```js
import formBindingData from '@ohos.app.ability.formBindingData'
export default class MyFormExtension extends FormExtension {
onCreate(want) {
console.log('FormExtension onCreate, want:' + want.abilityName);
let dataObj1 = {
temperature:"11c",
"time":"11:00"
};
let obj1 = formBindingData.createFormBindingData(dataObj1);
return obj1;
}
}
```
## FormExtension.onCastToNormal
onCastToNormal(formId: string): void
卡片提供方接收临时卡片转常态卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------ |
| formId | string | 是 | 请求转换为常态的卡片ID。 |
**示例:**
```
export default class MyFormExtension extends FormExtension {
onCastToNormal(formId) {
console.log('FormExtension onCastToNormal, formId:' + formId);
}
}
```
## FormExtension.onUpdate
onUpdate(formId: string): void
卡片提供方接收更新卡片的通知接口。获取最新数据后调用[FormExtensionContext](js-apis-app-ability-formextensioncontext.md)的updateForm接口刷新卡片数据。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求更新的卡片ID。 |
**示例:**
```js
import formBindingData from '@ohos.app.ability.formBindingData'
export default class MyFormExtension extends FormExtension {
onUpdate(formId) {
console.log('FormExtension onUpdate, formId:' + formId);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
this.context.updateForm(formId, obj2)
.then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```
## FormExtension.onVisibilityChange
onVisibilityChange(newStatus: { [key: string]: number }): void
卡片提供方接收修改可见性的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------------------- |
| newStatus | { [key: string]: number } | 是 | 请求修改的卡片ID和可见状态。 |
**示例:**
```js
import formBindingData from '@ohos.app.ability.formBindingData'
export default class MyFormExtension extends FormExtension {
onVisibilityChange(newStatus) {
console.log('FormExtension onVisibilityChange, newStatus:' + newStatus);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
for (let key in newStatus) {
console.log('FormExtension onVisibilityChange, key:' + key + ", value=" + newStatus[key]);
this.context.updateForm(key, obj2)
.then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
}
```
## FormExtension.onEvent
onEvent(formId: string, message: string): void
卡片提供方接收处理卡片事件的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ---------------------- |
| formId | string | 是 | 请求触发事件的卡片ID。 |
| message | string | 是 | 事件消息。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onEvent(formId, message) {
console.log('FormExtension onEvent, formId:' + formId + ", message:" + message);
}
}
```
## FormExtension.onDestroy
onDestroy(formId: string): void
卡片提供方接收销毁卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求销毁的卡片ID。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onDestroy(formId) {
console.log('FormExtension onDestroy, formId:' + formId);
}
}
```
## FormExtension.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
当系统配置更新时调用。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-app-ability-configuration.md) | 是 | 表示需要更新的配置信息。 |
**示例:**
```js
class MyFormExtension extends FormExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
}
```
## FormExtension.onAcquireFormState
onAcquireFormState?(want: Want): formInfo.FormState;
卡片提供方接收查询卡片状态通知接口。默认返回卡片初始状态。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 否 | want表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。 |
**示例:**
```js
import formInfo from '@ohos.app.ability.formInfo'
class MyFormExtension extends FormExtension {
onAcquireFormState(want) {
console.log('FormExtension onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
}
```
## FormExtension.onShare
onShare?(formId: string): {[key: string]: any};
卡片提供方接收卡片分享的通知接口。
此接口为系统接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| formId | string | 是 | 卡片标识 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| {[key: string]: any} | 卡片要分享的数据,由开发者自行决定传入的键值对。 |
**示例:**
```js
class MyFormExtension extends FormExtension {
onShare(formId) {
console.log('FormExtension onShare, formId:' + formId);
let wantParams = {
"temperature":"20",
"time":"2022-8-8 09:59",
};
return wantParams;
}
}
```
\ No newline at end of file
# FormHost
FormHost模块提供了卡片使用方相关接口的能力,包括删除、释放、请求更新卡片,发送通知到指定卡片,获取卡片信息、状态等。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口均为系统接口,三方应用不支持调用。
## 导入模块
```
import formHost from '@ohos.application.formHost';
```
## 权限
ohos.permission.REQUIRE_FORM
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
## deleteForm
deleteForm(formId: string, callback: AsyncCallback&lt;void&gt;): void;
删除指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务不再保留有关该卡片的信息。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.deleteForm(formId, (error, data) => {
if (error.code) {
console.log('formHost deleteForm, error:' + JSON.stringify(error));
}
});
```
## deleteForm
deleteForm(formId: string): Promise&lt;void&gt;;
删除指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务不再保留有关该卡片的信息。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**参数:**
```js
var formId = "12400633174999288";
formHost.deleteForm(formId).then(() => {
console.log('formHost deleteForm success');
}).catch((error) => {
console.log('formHost deleteForm, error:' + JSON.stringify(error));
});
```
## releaseForm
releaseForm(formId: string, callback: AsyncCallback&lt;void&gt;): void;
释放指定的卡片。调用此方法后,应用程序将无法使用该卡片,但卡片管理器服务仍然保留有关该卡片的缓存信息和存储信息。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.releaseForm(formId, (error, data) => {
if (error.code) {
console.log('formHost releaseForm, error:' + JSON.stringify(error));
}
});
```
## releaseForm
releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback&lt;void&gt;): void;
释放指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务保留有关该卡片的存储信息,可以选择是否保留缓存信息。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | ----------- |
| formId | string | 是 | 卡片标识 |
| isReleaseCache | boolean | 是 | 是否释放缓存 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.releaseForm(formId, true, (error, data) => {
if (error.code) {
console.log('formHost releaseForm, error:' + JSON.stringify(error));
}
});
```
## releaseForm
releaseForm(formId: string, isReleaseCache?: boolean): Promise&lt;void&gt;;
释放指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务保留有关该卡片的存储信息,可以选择是否保留缓存信息。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | ----------- |
| formId | string | 是 | 卡片标识 |
| isReleaseCache | boolean | 否 | 是否释放缓存 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.releaseForm(formId, true).then(() => {
console.log('formHost releaseForm success');
}).catch((error) => {
console.log('formHost releaseForm, error:' + JSON.stringify(error));
});
```
## requestForm
requestForm(formId: string, callback: AsyncCallback&lt;void&gt;): void;
请求卡片更新。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.requestForm(formId, (error, data) => {
if (error.code) {
console.log('formHost requestForm, error:' + JSON.stringify(error));
}
});
```
## requestForm
requestForm(formId: string): Promise&lt;void&gt;;
请求卡片更新。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.requestForm(formId).then(() => {
console.log('formHost requestForm success');
}).catch((error) => {
console.log('formHost requestForm, error:' + JSON.stringify(error));
});
```
## castTempForm
castTempForm(formId: string, callback: AsyncCallback&lt;void&gt;): void;
将指定的临时卡片转换为普通卡片。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.castTempForm(formId, (error, data) => {
if (error.code) {
console.log('formHost castTempForm, error:' + JSON.stringify(error));
}
});
```
## castTempForm
castTempForm(formId: string): Promise&lt;void&gt;;
将指定的临时卡片转换为普通卡片。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.castTempForm(formId).then(() => {
console.log('formHost castTempForm success');
}).catch((error) => {
console.log('formHost castTempForm, error:' + JSON.stringify(error));
});
```
## notifyVisibleForms
notifyVisibleForms(formIds: Array&lt;string&gt;, callback: AsyncCallback&lt;void&gt;): void;
向卡片框架发送通知以使指定的卡片可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.notifyVisibleForms(formId, (error, data) => {
if (error.code) {
console.log('formHost notifyVisibleForms, error:' + JSON.stringify(error));
}
});
```
## notifyVisibleForms
notifyVisibleForms(formIds: Array&lt;string&gt;): Promise&lt;void&gt;;
向卡片框架发送通知以使指定的卡片可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.notifyVisibleForms(formId).then(() => {
console.log('formHost notifyVisibleForms success');
}).catch((error) => {
console.log('formHost notifyVisibleForms, error:' + JSON.stringify(error));
});
```
## notifyInvisibleForms
notifyInvisibleForms(formIds: Array&lt;string&gt;, callback: AsyncCallback&lt;void&gt;): void;
向卡片框架发送通知以使指定的卡片不可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.notifyInvisibleForms(formId, (error, data) => {
if (error.code) {
console.log('formHost notifyInvisibleForms, error:' + JSON.stringify(error));
}
});
```
## notifyInvisibleForms
notifyInvisibleForms(formIds: Array&lt;string&gt;): Promise&lt;void&gt;;
向卡片框架发送通知以使指定的卡片不可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.notifyInvisibleForms(formId).then(() => {
console.log('formHost notifyInvisibleForms success');
}).catch((error) => {
console.log('formHost notifyInvisibleForms, error:' + JSON.stringify(error));
});
```
## enableFormsUpdate
enableFormsUpdate(formIds: Array&lt;string&gt;, callback: AsyncCallback&lt;void&gt;): void;
向卡片框架发送通知以使指定的卡片可以更新。该方法调用成功后,卡片刷新状态设置为使能,卡片可以接收来自卡片提供方的更新。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.enableFormsUpdate(formId, (error, data) => {
if (error.code) {
console.log('formHost enableFormsUpdate, error:' + JSON.stringify(error));
}
});
```
## enableFormsUpdate
enableFormsUpdate(formIds: Array&lt;string&gt;): Promise&lt;void&gt;;
向卡片框架发送通知以使指定的卡片可以更新。该方法调用成功后,卡片刷新状态设置为使能,卡片可以接收来自卡片提供方的更新。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.enableFormsUpdate(formId).then(() => {
console.log('formHost enableFormsUpdate success');
}).catch((error) => {
console.log('formHost enableFormsUpdate, error:' + JSON.stringify(error));
});
```
## disableFormsUpdate
disableFormsUpdate(formIds: Array&lt;string&gt;, callback: AsyncCallback&lt;void&gt;): void;
向卡片框架发送通知以使指定的卡片不可以更新。该方法调用成功后,卡片刷新状态设置为去使能,卡片不可以接收来自卡片提供方的更新。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.disableFormsUpdate(formId, (error, data) => {
if (error.code) {
console.log('formHost disableFormsUpdate, error:' + JSON.stringify(error));
}
});
```
## disableFormsUpdate
disableFormsUpdate(formIds: Array&lt;string&gt;): Promise&lt;void&gt;;
向卡片框架发送通知以使指定的卡片不可以更新。该方法调用成功后,卡片刷新状态设置为去使能,卡片不可以接收来自卡片提供方的更新。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = ["12400633174999288"];
formHost.disableFormsUpdate(formId).then(() => {
console.log('formHost disableFormsUpdate success');
}).catch((error) => {
console.log('formHost disableFormsUpdate, error:' + JSON.stringify(error));
});
```
## isSystemReady
isSystemReady(callback: AsyncCallback&lt;void&gt;): void;
检查系统是否准备好。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.isSystemReady((error, data) => {
if (error.code) {
console.log('formHost isSystemReady, error:' + JSON.stringify(error));
}
});
```
## isSystemReady
isSystemReady(): Promise&lt;void&gt;;
检查系统是否准备好。
**系统能力**:SystemCapability.Ability.Form
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formId = "12400633174999288";
formHost.isSystemReady().then(() => {
console.log('formHost isSystemReady success');
}).catch((error) => {
console.log('formHost isSystemReady, error:' + JSON.stringify(error));
});
```
## getAllFormsInfo
getAllFormsInfo(callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void;
获取设备上所有应用提供的卡片信息。
**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | callback形式返回查询到的卡片信息 |
**示例:**
```js
formHost.getAllFormsInfo((error, data) => {
if (error.code) {
console.log('formHost getAllFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formHost getAllFormsInfo, data:' + JSON.stringify(data));
}
});
```
## getAllFormsInfo
getAllFormsInfo(): Promise&lt;Array&lt;formInfo.FormInfo&gt;&gt;;
获取设备上所有应用提供的卡片信息。
**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | Promise实例,用于获取异步返回查询到的卡片信息 |
**示例:**
```js
formHost.getAllFormsInfo().then((data) => {
console.log('formHost getAllFormsInfo data:' + JSON.stringify(data));
}).catch((error) => {
console.log('formHost getAllFormsInfo, error:' + JSON.stringify(error));
});
```
## getFormsInfo
getFormsInfo(bundleName: string, callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void;
获取设备上指定应用程序提供的卡片信息。
**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| bundleName | string | 是 | 要查询的应用程序包名称 |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | callback形式返回查询到的卡片信息 |
**示例:**
```js
formHost.getFormsInfo("com.example.ohos.formjsdemo", (error, data) => {
if (error.code) {
console.log('formHost getFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formHost getFormsInfo, data:' + JSON.stringify(data));
}
});
```
## getFormsInfo
getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void;
获取设备上指定应用程序提供的卡片信息。
**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| bundleName | string | 是 | 要查询的应用程序包名称 |
| moduleName | string | 是 | 要查询的模块名称 |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | callback形式返回查询到的卡片信息 |
**示例:**
```js
formHost.getFormsInfo("com.example.ohos.formjsdemo", "entry", (error, data) => {
if (error.code) {
console.log('formHost getFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formHost getFormsInfo, data:' + JSON.stringify(data));
}
});
```
## getFormsInfo
getFormsInfo(bundleName: string, moduleName?: string): Promise&lt;Array&lt;formInfo.FormInfo&gt;&gt;;
获取设备上指定应用程序提供的卡片信息。
**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| bundleName | string | 是 | 要查询的应用程序包名称 |
| moduleName | string | 否 | 要查询的模块名称 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | Promise实例,用于获取异步返回查询到的卡片信息 |
**示例:**
```js
formHost.getFormsInfo("com.example.ohos.formjsdemo", "entry").then((data) => {
console.log('formHost getFormsInfo, data:' + JSON.stringify(data));
}).catch((error) => {
console.log('formHost getFormsInfo, error:' + JSON.stringify(error));
});
```
## deleteInvalidForms
deleteInvalidForms(formIds: Array&lt;string&gt;, callback: AsyncCallback&lt;number&gt;): void;
根据列表删除应用程序的无效卡片。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 有效卡片标识列表 |
| callback | AsyncCallback&lt;number&gt; | 是 | callback形式返回删除的卡片个数 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.deleteInvalidForms(formIds, (error, data) => {
if (error.code) {
console.log('formHost deleteInvalidForms, error:' + JSON.stringify(error));
} else {
console.log('formHost deleteInvalidForms, data:' + JSON.stringify(data));
}
});
```
## deleteInvalidForms
deleteInvalidForms(formIds: Array&lt;string&gt;): Promise&lt;number&gt;;
根据列表删除应用程序的无效卡片。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 有效卡片标识列表 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回删除的卡片个数 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.deleteInvalidForms(formIds).then((data) => {
console.log('formHost deleteInvalidForms, data:' + JSON.stringify(data));
}).catch((error) => {
console.log('formHost deleteInvalidForms, error:' + JSON.stringify(error));
});
```
## acquireFormState
acquireFormState(want: Want, callback: AsyncCallback&lt;formInfo.FormStateInfo&gt;): void;
获取卡片状态
**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| want | [Want](js-apis-application-Want.md) | 是 | 查询卡片状态时携带的want信息 |
| callback | AsyncCallback&lt;[FormStateInfo](js-apis-formInfo.md#formstateinfo)&gt; | 是 | callback形式返回卡片状态 |
**示例:**
```js
var want = {
"deviceId": "",
"bundleName": "ohos.samples.FormApplication",
"abilityName": "FormAbility",
"parameters": {
"ohos.extra.param.key.module_name": "entry",
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.form_dimension": 2
}
};
formHost.acquireFormState(want, (error, data) => {
if (error.code) {
console.log('formHost acquireFormState, error:' + JSON.stringify(error));
} else {
console.log('formHost acquireFormState, data:' + JSON.stringify(data));
}
});
```
## acquireFormState
acquireFormState(want: Want): Promise&lt;formInfo.FormStateInfo&gt;;
获取卡片状态。
**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| want | [Want](js-apis-application-Want.md) | 是 | 查询卡片状态时携带的want信息 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;[FormStateInfo](js-apis-formInfo.md#formstateinfo)&gt; | Promise实例,用于返回卡片状态 |
**示例:**
```js
var want = {
"deviceId": "",
"bundleName": "ohos.samples.FormApplication",
"abilityName": "FormAbility",
"parameters": {
"ohos.extra.param.key.module_name": "entry",
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.form_dimension": 2
}
};
formHost.acquireFormState(want).then((data) => {
console.log('formHost acquireFormState, data:' + JSON.stringify(data));
}).catch((error) => {
console.log('formHost acquireFormState, error:' + JSON.stringify(error));
});
```
## on("formUninstall")
on(type: "formUninstall", callback: Callback&lt;string&gt;): void;
订阅卡片卸载事件。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| type | string | 是 | 填写"formUninstall",表示卡片卸载事件 |
| callback | Callback&lt;string&gt; | 是 | 需要注册的事件回调方法 |
**示例:**
```js
let callback = function(formId) {
console.log('formHost on formUninstall, formId:' + formId);
}
formHost.on("formUninstall", callback);
```
## off("formUninstall")
off(type: "formUninstall", callback?: Callback&lt;string&gt;): void;
取消订阅卡片卸载事件。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| type | string | 是 | 填写"formUninstall",表示卡片卸载事件 |
| callback | Callback&lt;string&gt; | 否 | 需要注销的事件回调方法。缺省时,表示注销所有已注册事件回调 |
**示例:**
```js
let callback = function(formId) {
console.log('formHost on formUninstall, formId:' + formId);
}
formHost.off("formUninstall", callback);
```
## notifyFormsVisible
notifyFormsVisible(formIds: Array&lt;string&gt;, isVisible: boolean, callback: AsyncCallback&lt;void&gt;): void;
通知卡片是否可见。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isVisible | boolean | 是 | 是否可见 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsVisible(formIds, true, (error, data) => {
if (error.code) {
console.log('formHost notifyFormsVisible, error:' + JSON.stringify(error));
}
});
```
## notifyFormsVisible
notifyFormsVisible(formIds: Array&lt;string&gt;, isVisible: boolean): Promise&lt;void&gt;;
通知卡片是否可见。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isVisible | boolean | 是 | 是否可见 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsVisible(formIds, true).then(() => {
console.log('formHost notifyFormsVisible success');
}).catch((error) => {
console.log('formHost notifyFormsVisible, error:' + JSON.stringify(error));
});
```
## notifyFormsEnableUpdate
notifyFormsEnableUpdate(formIds: Array&lt;string&gt;, isEnableUpdate: boolean, callback: AsyncCallback&lt;void&gt;): void;
通知卡片是否启用更新状态。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isEnableUpdate | boolean | 是 | 是否使能更新 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsEnableUpdate(formIds, true, (error, data) => {
if (error.code) {
console.log('formHost notifyFormsEnableUpdate, error:' + JSON.stringify(error));
}
});
```
## notifyFormsEnableUpdate
notifyFormsEnableUpdate(formIds: Array&lt;string&gt;, isEnableUpdate: boolean): Promise&lt;void&gt;;
通知卡片是否启用更新状态。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isEnableUpdate | boolean | 是 | 是否使能更新 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsEnableUpdate(formIds, true).then(() => {
console.log('formHost notifyFormsEnableUpdate success');
}).catch((error) => {
console.log('formHost notifyFormsEnableUpdate, error:' + JSON.stringify(error));
});
```
## shareForm<sup>9+</sup>
shareForm(formId: string, deviceId: string, callback: AsyncCallback&lt;void&gt;): void;
指定formId和远程设备Id进行卡片分享。
此接口为系统接口。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
| deviceId | string | 是 | 远程设备标识 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formId = "12400633174999288";
var deviceId = "EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2";
formHost.shareForm(formId, deviceId, (error, data) => {
if (error.code) {
console.log('formHost shareForm, error:' + JSON.stringify(error));
}
});
```
## shareForm<sup>9+</sup>
shareForm(formId: string, deviceId: string): Promise&lt;void&gt;;
指定formId和远程设备Id进行卡片分享。
此接口为系统接口。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formId | string | 是 | 卡片标识 |
| deviceId | string | 是 | 远程设备标识 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 返回一个Promise,包含接口的结果 |
**参数:**
```js
var formId = "12400633174999288";
var deviceId = "EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2";
formHost.shareForm(formId, deviceId).then(() => {
console.log('formHost shareForm success');
}).catch((error) => {
console.log('formHost shareForm, error:' + JSON.stringify(error));
});
```
## notifyFormsPrivacyProtected
notifyFormsPrivacyProtected(formIds: Array&lt;string&gt;, isProtected: boolean, callback: AsyncCallback&lt;void&gt;): void;
通知卡片隐私是否需要保护。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isProtected | boolean | 是 | 是否需要保护 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsPrivacyProtected(formIds, true, (error, data) => {
if (error.code) {
console.log('formHost notifyFormsPrivacyProtected, error:' + JSON.stringify(error));
}
});
```
## notifyFormsPrivacyProtected
notifyFormsPrivacyProtected(formIds: Array&lt;string&gt;, isProtected: boolean): Promise&lt;void&gt;;
通知卡片隐私是否需要保护。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isProtected | boolean | 是 | 是否需要保护 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsPrivacyProtected(formIds, true).then(() => {
console.log('formHost notifyFormsPrivacyProtected success');
}).catch((error) => {
console.log('formHost notifyFormsPrivacyProtected, error:' + JSON.stringify(error));
});
```
\ No newline at end of file
# FormProvider
FormProvider模块提供了卡片提供方相关接口的能力,包括更新卡片,设置卡片更新时间,获取卡片信息,请求发布卡片等。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import formProvider from '@ohos.app.ability.formProvider';
```
## 权限
## setFormNextRefreshTime
setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback&lt;void&gt;): void;
设置指定卡片的下一次更新时间。
**系统能力:**
SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------- |
| formId | string | 是 | 卡片标识 |
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果 |
**示例:**
```js
var formId = "12400633174999288";
try {
formProvider.setFormNextRefreshTime(formId, 5, (error, data) => {
if (error.code) {
console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
}
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## setFormNextRefreshTime
setFormNextRefreshTime(formId: string, minute: number): Promise&lt;void&gt;;
设置指定卡片的下一次更新时间,以promise方式返回。
**系统能力:**
SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------- |
| formId | string | 是 | 卡片标识 |
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 |
**返回值:**
| 类型 | 说明 |
| ------------- | ---------------------------------- |
| Promise\<void> |Promise实例,用于获取异步返回结果。 |
**示例:**
```js
var formId = "12400633174999288";
try {
formProvider.setFormNextRefreshTime(formId, 5).then(() => {
console.log('formProvider setFormNextRefreshTime success');
}).catch((error) => {
console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## updateForm
updateForm(formId: string, formBindingData: formBindingData.FormBindingData,callback: AsyncCallback&lt;void&gt;): void;
更新指定的卡片。
**系统能力:**
SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| formId | string | 是 | 请求更新的卡片标识 |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回启动结果 |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData';
var formId = "12400633174999288";
let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
try {
formProvider.updateForm(formId, obj, (error, data) => {
if (error.code) {
console.log('formProvider updateForm, error:' + JSON.stringify(error));
}
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## updateForm
updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise&lt;void&gt;;
更新指定的卡片,以promise方式返回。
**系统能力:**
SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| formId | string | 是 | 请求更新的卡片标识 |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------------- |
| Promise\<void> | Promise实例,用于获取异步返回结果。 |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData';
var formId = "12400633174999288";
let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
try {
formProvider.updateForm(formId, obj).then(() => {
console.log('formProvider updateForm success');
}).catch((error) => {
console.log('formProvider updateForm, error:' + JSON.stringify(error));
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## getFormsInfo
getFormsInfo(callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void;
获取设备上当前应用程序的卡片信息。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | callback形式返回查询到的卡片信息。 |
**示例:**
```js
formProvider.getFormsInfo((error, data) => {
if (error.code) {
console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}
});
```
## getFormsInfo
getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void;
获取设备上当前应用程序的卡片信息。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| filter | [formInfo.FormInfoFilter](./js-apis-formInfo.md#forminfofilter) | 是 | 过滤卡片信息 |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | callback形式返回查询到的卡片信息。 |
**示例:**
```js
import formInfo from '@ohos.application.formInfo';
const filter : formInfo.FormInfoFilter = {
moduleName : "entry"
};
try {
formProvider.getFormsInfo(filter, (error, data) => {
if (error.code) {
console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## getFormsInfo
getFormsInfo(filter?: formInfo.FormInfoFilter): Promise&lt;Array&lt;formInfo.FormInfo&gt;&gt;;
获取设备上当前应用程序的卡片信息。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| filter | [formInfo.FormInfoFilter](./js-apis-app-ability-formInfo.md) | 否 | 过滤卡片信息 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;Array&lt;[FormInfo](./js-apis-app-ability-formInfo.md#forminfo-1)&gt;&gt; | Promise实例,用于获取异步返回查询到的卡片信息。 |
**示例:**
```js
import formInfo from '@ohos.app.ability.formInfo';
const filter : formInfo.FormInfoFilter = {
moduleName : "entry"
};
try {
formProvider.getFormsInfo(filter).then((data) => {
console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}).catch((error) => {
console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## requestPublishForm
requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\<string>): void;
请求发布一张卡片到使用方。
**系统能力:** SystemCapability.Ability.Form
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| want | [Want](js-apis-app-ability-Want.md) | 是 | abilityName: 目标卡片ability<br>parameters:<br>"ohos.extra.param.key.form_dimension"<br>"ohos.extra.param.key.form_name"<br>"ohos.extra.param.key.module_name" |
| formBindingData | [FormBindingData](js-apis-app-ability-formbindingdata.md#formbindingdata) | 是 | 用于创建卡片的数据 |
| callback | AsyncCallback&lt;string&gt; | 是 | callback形式返回卡片标识 |
**示例:**
```js
import formBindingData from '@ohos.app.ability.formBindingData';
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
formProvider.requestPublishForm(want, obj, (error, data) => {
if (error.code) {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
} else {
console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
}
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## requestPublishForm
requestPublishForm(want: Want, callback: AsyncCallback&lt;string&gt;): void;
请求发布一张卡片到使用方。
**系统能力:** SystemCapability.Ability.Form
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-app-ability-Want.md) | 是 | abilityName: 目标卡片ability<br>parameters:<br>"ohos.extra.param.key.form_dimension"<br>"ohos.extra.param.key.form_name"<br>"ohos.extra.param.key.module_name" |
| callback | AsyncCallback&lt;string&gt; | 是 | callback形式返回卡片标识 |
**示例:**
```js
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
formProvider.requestPublishForm(want, (error, data) => {
if (error.code) {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
} else {
console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
}
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## requestPublishForm
requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise&lt;string&gt;;
请求发布一张卡片到使用方。
**系统能力:** SystemCapability.Ability.Form
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-app-ability-Want.md) | 是 | abilityName: 目标卡片ability<br/>parameters:<br/>"ohos.extra.param.key.form_dimension"<br/>"ohos.extra.param.key.form_name"<br/>"ohos.extra.param.key.module_name" |
| formBindingData | [FormBindingData](js-apis-app-ability-formbindingdata.md#formbindingdata) | 否 | 用于创建卡片的数据 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;string&gt; | Promise实例,用于返回卡片标识。 |
**示例:**
```js
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
formProvider.requestPublishForm(want).then((data) => {
console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
}).catch((error) => {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## isRequestPublishFormSupported
isRequestPublishFormSupported(callback: AsyncCallback&lt;boolean&gt;): void;
查询是否支持发布一张卡片到使用方。
**系统能力:** SystemCapability.Ability.Form
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | callback形式返回是否支持发布一张卡片到使用方 |
**示例:**
```js
formProvider.isRequestPublishFormSupported((error, isSupported) => {
if (error.code) {
console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
} else {
if (isSupported) {
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
formProvider.requestPublishForm(want, (error, data) => {
if (error.code) {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
} else {
console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
}
});
}
}
});
```
## isRequestPublishFormSupported
isRequestPublishFormSupported(): Promise&lt;boolean&gt;;
查询是否支持发布一张卡片到使用方。
**系统能力:** SystemCapability.Ability.Form
**系统API**: 此接口为系统接口,三方应用不支持调用。
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;boolean&gt; | Promise实例,用于获取异步返回是否支持发布一张卡片到使用方 |
**示例:**
```js
formProvider.isRequestPublishFormSupported().then((isSupported) => {
if (isSupported) {
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
formProvider.requestPublishForm(want).then((data) => {
console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
}).catch((error) => {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
});
}
}).catch((error) => {
console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
});
```
\ No newline at end of file
# missionManager
missionManager模块提供系统任务管理能力,包括对系统任务执行锁定、解锁、清理、切换到前台等操作。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import missionManager from '@ohos.app.ability.missionManager'
```
## 权限列表
ohos.permission.MANAGE_MISSIONS
## missionManager.on
on(type:"mission", listener: MissionListener): number;
注册系统任务状态监听。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| listener | MissionListener | 是 | 系统任务监听方法。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 监听方法的index值,由系统创建,在注册系统任务状态监听时分配,和监听方法一一对应&nbsp;。 |
**示例:**
```js
var listener = {
onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")},
onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")},
onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")},
onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")},
onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")},
onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")}
};
console.log("registerMissionListener")
try {
var listenerid = missionManager.on("mission", listener);
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.off
off(type: "mission", listenerId: number, callback: AsyncCallback&lt;void&gt;): void;
取消任务状态监听。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```js
var listener = {
onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")},
onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")},
onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")},
onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")},
onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")},
onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")}
};
console.log("registerMissionListener")
try {
var listenerid = missionManager.registerMissionListener(listener);
missionManager.unregisterMissionListener(listenerid, (error) => {
console.log("unregisterMissionListener");
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.off
off(type: "mission", listenerId: number): Promise&lt;void&gt;;
取消任务状态监听,以promise方式返回执行结果。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| listenerId | number | 是 | 系统任务状态监听方法的index值,和监听方法一一对应,由registerMissionListener方法返回。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
var listener = {
onMissionCreated: function (mission) {console.log("--------onMissionCreated-------")},
onMissionDestroyed: function (mission) {console.log("--------onMissionDestroyed-------")},
onMissionSnapshotChanged: function (mission) {console.log("--------onMissionSnapshotChanged-------")},
onMissionMovedToFront: function (mission) {console.log("--------onMissionMovedToFront-------")},
onMissionIconUpdated: function (mission, icon) {console.log("--------onMissionIconUpdated-------")},
onMissionClosed: function (mission) {console.log("--------onMissionClosed-------")}
};
console.log("registerMissionListener")
try {
var listenerid = missionManager.registerMissionListener(listener);
missionManager.unregisterMissionListener(listenerid).catch(function (err) {
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getMissionInfo
getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback&lt;MissionInfo&gt;): void;
获取任务信息,以异步回调的方式返回任务信息。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;[MissionInfo](#missioninfo)&gt; | 是 | 执行结果回调函数,返回任务信息。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions=missionManager.getMissionInfos("",10).catch(function(err){console.log(err);});
missionManager.getMissionInfo("", allMissions[0].missionId, (error, mission) => {
console.log("getMissionInfo is called, error.code = " + error.code)
console.log("mission.missionId = " + mission.missionId);
console.log("mission.runningState = " + mission.runningState);
console.log("mission.lockedState = " + mission.lockedState);
console.log("mission.timestamp = " + mission.timestamp);
console.log("mission.label = " + mission.label);
console.log("mission.iconPath = " + mission.iconPath);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getMissionInfo
getMissionInfo(deviceId: string, missionId: number): Promise&lt;MissionInfo&gt;;
获取任务信息,以promise方式返回任务信息。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;[MissionInfo](#missioninfo)&gt; | 任务信息。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var mission = missionManager.getMissionInfo("", 10).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getMissionInfos
getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback&lt;Array&lt;MissionInfo&gt;&gt;): void;
获取所有任务信息,以回调函数的方式返回任务信息数组。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| numMax | number | 是 | 任务信息数量上限。 |
| callback | AsyncCallback&lt;Array&lt;[MissionInfo](#missioninfo)&gt;&gt; | 是 | 执行结果回调函数,返回任务信息数组。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getMissionInfos
getMissionInfos(deviceId: string, numMax: number): Promise&lt;Array&lt;MissionInfo&gt;&gt;;
获取所有任务信息,以promise的方式返回任务信息数组。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| numMax | number | 是 | 任务信息数量上限。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[MissionInfo](#missioninfo)&gt;&gt; | 任务信息数组。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions = missionManager.getMissionInfos("", 10).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getMissionSnapShot
getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback&lt;MissionSnapshot&gt;): void;
获取任务快照,以回调函数的方式返回快照内容。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;[MissionSnapshot](js-apis-application-MissionSnapshot.md)&gt; | 是 | 执行结果回调函数,返回任务快照信息。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.getMissionSnapShot("", id, (error, snapshot) => {
console.log("getMissionSnapShot is called, error.code = " + error.code);
console.log("bundleName = " + snapshot.ability.bundleName);
})
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getMissionSnapShot
getMissionSnapShot(deviceId: string, missionId: number): Promise&lt;MissionSnapshot&gt;;
获取任务快照,以promise的方式返回快照内容。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;[MissionSnapshot](js-apis-application-MissionSnapshot.md)&gt; | 任务快照信息。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
var snapshot = missionManager.getMissionSnapShot("", id).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getLowResolutionMissionSnapShot
getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback\<MissionSnapshot>): void;
使用给定的任务ID获取任务低分辨率快照。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;[MissionSnapshot](js-apis-application-MissionSnapshot.md)&gt; | 是 | 执行结果回调函数,返回任务快照信息。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.getLowResolutionMissionSnapShot("", id, (error, snapshot) => {
console.log("getLowResolutionMissionSnapShot is called, error.code = " + error.code);
console.log("bundleName = " + snapshot.ability.bundleName);
})
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.getLowResolutionMissionSnapShot
getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise\<MissionSnapshot>;
使用给定的任务ID获取任务低分辨率快照。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| deviceId | string | 是 | 设备ID,本机默认为空字符串。 |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;[MissionSnapshot](js-apis-application-MissionSnapshot.md)&gt; | 任务快照信息。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
var snapshot = missionManager.getLowResolutionMissionSnapShot("", id).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.lockMission
lockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
锁定指定任务id的任务,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.lockMission(id).then(() => {
console.log("lockMission is called ");
});
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.lockMission
lockMission(missionId: number): Promise&lt;void&gt;;
锁定指定任务id的任务,以promise方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.lockMission(id).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.unlockMission
unlockMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
解锁指定任务id的任务,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.unlockMission(id).then(() => {
console.log("unlockMission is called ");
});
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.unlockMission
unlockMission(missionId: number): Promise&lt;void&gt;;
解锁指定任务id的任务,以promise的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.lockMission(id).catch(function (err){
console.log(err);
});
missionManager.unlockMission(id).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.clearMission
clearMission(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
清理指定任务id的任务,无论该任务是否被锁定,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.clearMission(id).then(() => {
console.log("clearMission is called ");
});
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.clearMission
clearMission(missionId: number): Promise&lt;void&gt;;
清理指定任务id的任务,无论该任务是否被锁定,以promise的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.clearMission(id).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.clearAllMissions
clearAllMissions(callback: AsyncCallback&lt;void&gt;): void;
清理所有未锁定的任务,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
missionManager.clearAllMissions().then(() => {
console.log("clearAllMissions is called ");
});
```
## missionManager.clearAllMissions
clearAllMissions(): Promise&lt;void&gt;;
清理所有未锁定的任务,以promise的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
missionManager.clearAllMissions().catch(function (err){
console.log(err);
});
```
## missionManager.moveMissionToFront
moveMissionToFront(missionId: number, callback: AsyncCallback&lt;void&gt;): void;
把指定任务id的任务切到前台,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.moveMissionToFront(id).then(() => {
console.log("moveMissionToFront is called ");
});
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.moveMissionToFront
moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void;
把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| options | [StartOptions](js-apis-application-StartOptions.md) | 是 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 执行结果回调函数。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
missionManager.getMissionInfos("", 10, (error, missions) => {
console.log("getMissionInfos is called, error.code = " + error.code);
console.log("size = " + missions.length);
console.log("missions = " + JSON.stringify(missions));
var id = missions[0].missionId;
missionManager.moveMissionToFront(id,{windowMode : 101}).then(() => {
console.log("moveMissionToFront is called ");
});
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## missionManager.moveMissionToFront
moveMissionToFront(missionId: number, options?: StartOptions): Promise&lt;void&gt;;
把指定任务id的任务切到前台,同时指定任务切换到前台时的启动参数,例如窗口模式、设备ID等,以promise的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| missionId | number | 是 | 任务ID。 |
| options | [StartOptions](js-apis-application-StartOptions.md) | 否 | 启动参数选项,用于指定任务切到前台时的窗口模式,设备ID等。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | promise方式返回执行结果。 |
**示例:**
```js
import missionManager from '@ohos.app.ability.missionManager'
try {
var allMissions;
missionManager.getMissionInfos("",10).then(function(res){
allMissions=res;
}).catch(function(err){console.log(err);});
console.log("size = " + allMissions.length);
console.log("missions = " + JSON.stringify(allMissions));
var id = allMissions[0].missionId;
missionManager.moveMissionToFront(id).catch(function (err){
console.log(err);
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## MissionInfo
表示Ability对应任务信息的枚举。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Mission
**系统API**: 此接口为系统接口,三方应用不支持调用。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| missionId | number | 是 | 是 | 表示任务ID。|
| runningState | number | 是 | 是 | 表示运行状态。 |
| lockedState | boolean | 是 | 是 | 表示锁定状态。 |
| timestamp | string | 是 | 是 | 表示任务的最近创建或更新时间。 |
| want | [Want](js-apis-application-Want.md) | 是 | 是 | 表示任务的Want信息。 |
| label | string | 是 | 是 | 表示任务的标签。 |
| iconPath | string | 是 | 是 | 表示任务的图标路径。 |
| continuable | boolean | 是 | 是 | 表示任务是否可以迁移。 |
...@@ -9,7 +9,7 @@ quickFixManager模块提供快速修复的能力,快速修复是OpenHarmony提 ...@@ -9,7 +9,7 @@ quickFixManager模块提供快速修复的能力,快速修复是OpenHarmony提
## 导入模块 ## 导入模块
``` ```
import quickFixManager from '@ohos.application.quickFixManager'; import quickFixManager from '@ohos.app.ability.quickFixManager';
``` ```
## HapModuleQuickFixInfo ## HapModuleQuickFixInfo
...@@ -65,16 +65,20 @@ applyQuickFix(hapModuleQuickFixFiles: Array\<string>, callback: AsyncCallback\<v ...@@ -65,16 +65,20 @@ applyQuickFix(hapModuleQuickFixFiles: Array\<string>, callback: AsyncCallback\<v
**示例:** **示例:**
```js ```js
import quickFixManager from '@ohos.application.quickFixManager' import quickFixManager from '@ohos.app.ability.quickFixManager'
let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"] try {
quickFixManager.applyQuickFix(hapModuleQuickFixFiles, (error) => { let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"]
quickFixManager.applyQuickFix(hapModuleQuickFixFiles, (error) => {
if (error) { if (error) {
console.info( `applyQuickFix failed with error + ${error}`) console.info( `applyQuickFix failed with error + ${error}`)
} else { } else {
console.info( 'applyQuickFix success') console.info( 'applyQuickFix success')
} }
}) })
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
``` ```
## quickFixManager.applyQuickFix ## quickFixManager.applyQuickFix
...@@ -104,14 +108,18 @@ applyQuickFix(hapModuleQuickFixFiles: Array\<string>): Promise\<void>; ...@@ -104,14 +108,18 @@ applyQuickFix(hapModuleQuickFixFiles: Array\<string>): Promise\<void>;
**示例:** **示例:**
```js ```js
import quickFixManager from '@ohos.application.quickFixManager' import quickFixManager from '@ohos.app.ability.quickFixManager'
let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"] let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"]
quickFixManager.applyQuickFix(hapModuleQuickFixFiles).then(() => { try {
console.info('applyQuickFix success') quickFixManager.applyQuickFix(hapModuleQuickFixFiles).then(() => {
}).catch((error) => { console.info('applyQuickFix success')
console.info(`applyQuickFix err: + ${error}`) }).catch((error) => {
}) console.info(`applyQuickFix err: + ${error}`)
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
``` ```
## quickFixManager.getApplicationQuickFixInfo ## quickFixManager.getApplicationQuickFixInfo
...@@ -136,16 +144,20 @@ getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback\<Applicat ...@@ -136,16 +144,20 @@ getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback\<Applicat
**示例:** **示例:**
```js ```js
import quickFixManager from '@ohos.application.quickFixManager' import quickFixManager from '@ohos.app.ability.quickFixManager'
let bundleName = "bundleName" try {
quickFixManager.getApplicationQuickFixInfo(bundleName, (error, data) => { let bundleName = "bundleName"
if (error) { quickFixManager.getApplicationQuickFixInfo(bundleName, (error, data) => {
console.info(`getApplicationQuickFixInfo error: + ${error}`) if (error) {
} else { console.info(`getApplicationQuickFixInfo error: + ${error}`)
console.info(`getApplicationQuickFixInfo success: + ${data}`) } else {
} console.info(`getApplicationQuickFixInfo success: + ${data}`)
}) }
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
``` ```
## quickFixManager.getApplicationQuickFixInfo ## quickFixManager.getApplicationQuickFixInfo
...@@ -175,12 +187,16 @@ getApplicationQuickFixInfo(bundleName: string): Promise\<ApplicationQuickFixInfo ...@@ -175,12 +187,16 @@ getApplicationQuickFixInfo(bundleName: string): Promise\<ApplicationQuickFixInfo
**示例:** **示例:**
```js ```js
import quickFixManager from '@ohos.application.quickFixManager' import quickFixManager from '@ohos.app.ability.quickFixManager'
let bundleName = "bundleName" try {
quickFixManager.getApplicationQuickFixInfo(bundleName).then((data) => { let bundleName = "bundleName"
console.info(`getApplicationQuickFixInfo success: + ${data}`) quickFixManager.getApplicationQuickFixInfo(bundleName).then((data) => {
}).catch((error) => { console.info(`getApplicationQuickFixInfo success: + ${data}`)
console.info(`getApplicationQuickFixInfo err: + ${error}`) }).catch((error) => {
}) console.info(`getApplicationQuickFixInfo err: + ${error}`)
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
``` ```
\ No newline at end of file
# ServiceExtensionAbility
ServiceExtensionAbility模块提供ServiceExtension服务扩展相关接口的能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```
import ServiceExtension from '@ohos.app.ability.ServiceExtensionAbility';
```
## 权限
## 属性
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| context | [ServiceExtensionContext](js-apis-service-extension-context.md) | 是 | 否 | ServiceExtension的上下文环境,继承自ExtensionContext。 |
## ServiceExtensionAbility.onCreate
onCreate(want: Want): void;
Extension生命周期回调,在创建时回调,执行初始化业务逻辑操作。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onCreate(want) {
console.log('onCreate, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onDestroy
onDestroy(): void;
Extension生命周期回调,在销毁时回调,执行资源清理等操作。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**示例:**
```js
class ServiceExt extends ServiceExtension {
onDestroy() {
console.log('onDestroy');
}
}
```
## ServiceExtensionAbility.onRequest
onRequest(want: Want, startId: number): void;
Extension生命周期回调,如果是startAbility拉起的服务,会在onCreate之后回调。每次拉起服务都会回调,startId会递增。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
| startId | number | 是 | 返回拉起次数。首次拉起初始值返回1,多次之后自动递增。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onRequest(want, startId) {
console.log('onRequest, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onConnect
onConnect(want: Want): rpc.RemoteObject;
Extension生命周期回调,如果是connectAbility拉起的服务,会在onCreate之后回调。返回一个RemoteObject对象,用于和客户端进行通信。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| rpc.RemoteObject | 一个RemoteObject对象,用于和客户端进行通信。 |
**示例:**
```js
import rpc from '@ohos.rpc'
class StubTest extends rpc.RemoteObject{
constructor(des) {
super(des);
}
onConnect(code, data, reply, option) {
}
}
class ServiceExt extends ServiceExtension {
onConnect(want) {
console.log('onConnect , want:' + want.abilityName);
return new StubTest("test");
}
}
```
## ServiceExtensionAbility.onDisconnect
onDisconnect(want: Want): void;
Extension的生命周期,断开服务连接时回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want |[Want](js-apis-application-Want.md)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onDisconnect(want) {
console.log('onDisconnect, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onReconnect
onReconnect(want: Want): void;
当新客户端在所有以前的客户端连接之后尝试连接到服务扩展时调用
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want |[Want](js-apis-application-Want.md)| 是 | 当前Extension相关的Want类型信息,包括ability名称、bundle名称等。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onReconnect(want) {
console.log('onReconnect, want:' + want.abilityName);
}
}
```
## ServiceExtensionAbility.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
当Extension更新配置信息时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 表示需要更新的配置信息。 |
**示例:**
```js
class ServiceExt extends ServiceExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
}
```
## ServiceExtensionAbility.onDump
onDump(params: Array\<string>): Array\<string>;
转储客户端信息时调用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| params | Array\<string> | 是 | 表示命令形式的参数。|
**示例:**
```js
class ServiceExt extends ServiceExtension {
onDump(params) {
console.log('dump, params:' + JSON.stringify(params));
return ["params"]
}
}
```
# WantAgent模块
WantAgent模块提供了触发、取消、比较WantAgent实例和获取bundle名称的能力,包括创建WantAgent实例、获取实例的用户ID、获取want信息等。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import WantAgent from '@ohos.app.ability.wantAgent';
```
## WantAgent.getWantAgent
getWantAgent(info: WantAgentInfo, callback: AsyncCallback\<WantAgent\>): void
创建WantAgent(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | -------------------------- | ---- | ----------------------- |
| info | 是 | 否 | WantAgentInfo | 是 | WantAgent信息。 |
| callback | 是 | 否 | AsyncCallback\<WantAgent\> | 是 | 创建WantAgent的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getWantAgent
getWantAgent(info: WantAgentInfo): Promise\<WantAgent\>
创建WantAgent(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---- | --- | ---- | ------------- | ---- | ------------- |
| info | 是 | 否 | WantAgentInfo | 是 | WantAgent信息。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<WantAgent\> | 以Promise形式返回WantAgent。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getBundleName
getBundleName(agent: WantAgent, callback: AsyncCallback\<string\>): void
获取WantAgent实例的包名(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ----------------------- | ---- | --------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<string\> | 是 | 获取WantAgent实例的包名的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//getBundleName回调
function getBundleNameCallback(err, data) {
console.info("==========================>getBundleNameCallback=======================>");
}
WantAgent.getBundleName(wantAgent, getBundleNameCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getBundleName
getBundleName(agent: WantAgent): Promise\<string\>
获取WantAgent实例的包名(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回获取WantAgent实例的包名。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getBundleName(wantAgent).then((data) => {
console.info("==========================>getBundleNameCallback=======================>");
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getUid
getUid(agent: WantAgent, callback: AsyncCallback\<number\>): void
获取WantAgent实例的用户ID(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | ----------------------- | ---- | ----------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<number\> | 是 | 获取WantAgent实例的用户ID的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//getUid回调
function getUidCallback(err, data) {
console.info("==========================>getUidCallback=======================>");
}
WantAgent.getUid(wantAgent, getUidCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getUid
getUid(agent: WantAgent): Promise\<number\>
获取WantAgent实例的用户ID(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取WantAgent实例的用户ID。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getUid(wantAgent).then((data) => {
console.info("==========================>getUidCallback=======================>");
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getWant
getWant(agent: WantAgent, callback: AsyncCallback\<Want\>): void
获取WantAgent对象的want(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | --------------------- | ---- | ------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<Want\> | 是 | 获取WantAgent对象want的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//getWant回调
function getWantCallback(err, data) {
console.info("==========================>getWantCallback=======================>");
}
WantAgent.getWant(wantAgent, getWantCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getWant
getWant(agent: WantAgent): Promise\<Want\>
获取WantAgent对象的want(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**系统API**: 此接口为系统接口,三方应用不支持调用。
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<Want\> | 以Promise形式返回获取WantAgent对象的want。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getWant(wantAgent).then((data) => {
console.info("==========================>getWantCallback=======================>");
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.cancel
cancel(agent: WantAgent, callback: AsyncCallback\<void\>): void
取消WantAgent实例(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------- | --- | ---- | --------------------- | ---- | --------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<void\> | 是 | 取消WantAgent实例的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//cancel回调
function cancelCallback(err, data) {
console.info("==========================>cancelCallback=======================>");
}
WantAgent.cancel(wantAgent, cancelCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.cancel
cancel(agent: WantAgent): Promise\<void\>
取消WantAgent实例(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\<void\> | 以Promise形式获取异步返回结果。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.cancel(wantAgent).then((data) => {
console.info("==========================>cancelCallback=======================>");
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.trigger
trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: Callback\<CompleteData\>): void
主动激发WantAgent实例(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ----------- | --- | ---- | ----------------------------- | ---- | ------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| triggerInfo | 是 | 否 | TriggerInfo | 是 | TriggerInfo对象。 |
| callback | 是 | 否 | AsyncCallback\<CompleteData\> | 是 | 主动激发WantAgent实例的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//trigger回调
function triggerCallback(data) {
console.info("==========================>triggerCallback=======================>");
}
var triggerInfo = {
code:0
}
WantAgent.trigger(wantAgent, triggerInfo, triggerCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.equal
equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback\<boolean\>): void
判断两个WantAgent实例是否相等(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | ------------------------ | ---- | --------------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| otherAgent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<boolean\> | 是 | 判断两个WantAgent实例是否相等的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent1;
var wantAgent2;
//getWantAgent回调
function getWantAgentCallback(err, data) {
console.info("==========================>getWantAgentCallback=======================>");
if (err.code == 0) {
wantAgent1 = data;
wantAgent2 = data;
} else {
console.info('----getWantAgent failed!----');
}
}
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo, getWantAgentCallback)
//equal回调
function equalCallback(err, data) {
console.info("==========================>equalCallback=======================>");
}
WantAgent.equal(wantAgent1, wantAgent2, equalCallback)
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.equal
equal(agent: WantAgent, otherAgent: WantAgent): Promise\<boolean\>
判断两个WantAgent实例是否相等(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| otherAgent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回获取判断两个WantAgent实例是否相等的结果。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent1;
var wantAgent2;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent1 = data;
wantAgent2 = data;
});
WantAgent.equal(wantAgent1, wantAgent2).then((data) => {
console.info("==========================>equalCallback=======================>");
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getOperationType
getOperationType(agent: WantAgent, callback: AsyncCallback\<number>): void;
获取一个WantAgent的OperationType信息(callback形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | ------------------------ | ---- | --------------------------------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
| callback | 是 | 否 | AsyncCallback\<number> | 是 | 获取一个WantAgent的OperationType信息的回调方法。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getOperationType(wantAgent, (OperationType) => {
console.log('----------- getOperationType ----------, OperationType: ' + OperationType);
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgent.getOperationType
getOperationType(agent: WantAgent): Promise\<number>;
获取一个WantAgent的OperationType信息(Promise形式)。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | --------- | ---- | ------------- |
| agent | 是 | 否 | WantAgent | 是 | WantAgent对象。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number> | 以Promise形式返回获取operationType的结果。 |
**示例:**
```js
import WantAgent from '@ohos.app.ability.wantAgent';
//wantAgent对象
var wantAgent;
//WantAgentInfo对象
var wantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.neu.setResultOnAbilityResultTest1",
abilityName: "com.example.test.MainAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key={true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true,
}
}
],
operationType: WantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[WantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
try {
WantAgent.getWantAgent(wantAgentInfo).then((data) => {
console.info("==========================>getWantAgentCallback=======================>");
wantAgent = data;
});
WantAgent.getOperationType(wantAgent).then((OperationType) => {
console.log('getOperationType success, OperationType: ' + OperationType);
}).catch((err) => {
console.log('getOperationType fail, err: ' + err);
})
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## WantAgentInfo
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | ---- | ------------------------------- | ---- | ---------------------- |
| wants | 是 | 是 | Array\<Want\> | 是 | 将被执行的动作列表。 |
| operationType | 是 | 是 | wantAgent.OperationType | 是 | 动作类型。 |
| requestCode | 是 | 是 | number | 是 | 使用者定义的一个私有值。 |
| wantAgentFlags | 是 | 是 | Array<wantAgent.WantAgentFlags> | 否 | 动作执行属性。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
## WantAgentFlags
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 |
| ------------------- | -------------- | ------------------------------------------------------------ |
| ONE_TIME_FLAG | WantAgentFlags | WantAgent仅能使用一次。 |
| NO_BUILD_FLAG | WantAgentFlags | 如果描述WantAgent对象不存在,则不创建它,直接返回null。 |
| CANCEL_PRESENT_FLAG | WantAgentFlags | 在生成一个新的WantAgent对象前取消已存在的一个WantAgent对象。 |
| UPDATE_PRESENT_FLAG | WantAgentFlags | 使用新的WantAgent的额外数据替换已存在的WantAgent中的额外数据。 |
| CONSTANT_FLAG | WantAgentFlags | WantAgent是不可变的。 |
| REPLACE_ELEMENT | WantAgentFlags | 当前Want中的element属性可被WantAgent.trigger()中Want的element属性取代 |
| REPLACE_ACTION | WantAgentFlags | 当前Want中的action属性可被WantAgent.trigger()中Want的action属性取代 |
| REPLACE_URI | WantAgentFlags | 当前Want中的uri属性可被WantAgent.trigger()中Want的uri属性取代 |
| REPLACE_ENTITIES | WantAgentFlags | 当前Want中的entities属性可被WantAgent.trigger()中Want的entities属性取代 |
| REPLACE_BUNDLE | WantAgentFlags | 当前Want中的bundleName属性可被WantAgent.trigger()中Want的bundleName属性取代 |
## OperationType
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 |
| ----------------- | ------------- | ------------------------- |
| UNKNOWN_TYPE | OperationType | 不识别的类型。 |
| START_ABILITY | OperationType | 开启一个有页面的Ability。 |
| START_ABILITIES | OperationType | 开启多个有页面的Ability。 |
| START_SERVICE | OperationType | 开启一个无页面的ability。 |
| SEND_COMMON_EVENT | OperationType | 发送一个公共事件。 |
## CompleteData
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| -------------- | --- | ---- | ------------------------------ | ---- | ---------------------- |
| info | 是 | 是 | WantAgent | 是 | 触发的wantAgent。 |
| want | 是 | 是 | Want | 是 | 存在的被触发的want。 |
| finalCode | 是 | 是 | number | 是 | 触发wantAgent的请求代码。|
| finalData | 是 | 是 | string | 否 | 公共事件收集的最终数据。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
## TriggerInfo
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 可读 | 可写 | 类型 | 必填 | 描述 |
| ---------- | --- | ---- | -------------------- | ---- | ----------- |
| code | 是 | 是 | number | 是 | result code。 |
| want | 是 | 是 | Want | 否 | Want。 |
| permission | 是 | 是 | string | 否 | 权限定义。 |
| extraInfo | 是 | 是 | {[key: string]: any} | 否 | 额外数据。 |
\ No newline at end of file
# wantConstant
wantConstant模块提供want中操作want常数和解释Flags说明的能力。
> **说明:**
>
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```js
import wantConstant from '@ohos.app.ability.wantConstant';
```
## wantConstant.Action
want操作的常数。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 值 | 描述 |
| ------------ | ------------------ | ---------------------- |
| ACTION_HOME | ohos.want.action.home | 指示返回原点的操作。 |
| ACTION_DIAL | ohos.want.action.dial | 指示启动显示小键盘的页面功能的操作 |
| ACTION_SEARCH | ohos.want.action.search | 指示启动页面搜索功能的操作。 |
| ACTION_WIRELESS_SETTINGS | ohos.settings.wireless | 指示启动提供无线网络设置的页面功能的操作,例如,Wi-Fi选项。 |
| ACTION_MANAGE_APPLICATIONS_SETTINGS | ohos.settings.manage.applications | 指示启动管理已安装应用程序的页面功能的操作。 |
| ACTION_APPLICATION_DETAILS_SETTINGS | ohos.settings.application.details | 指示启动显示指定应用程序详细信息的页面功能的操作。 |
| ACTION_SET_ALARM | ohos.want.action.setAlarm | 指示启动页面功能以设置闹钟的操作。 |
| ACTION_SHOW_ALARMS | ohos.want.action.showAlarms | 指示启动显示所有警报的页面功能的操作时钟。 |
| ACTION_SNOOZE_ALARM | ohos.want.action.snoozeAlarm | 指示启动用于使闹钟睡眠的页面功能的操作。 |
| ACTION_DISMISS_ALARM | ohos.want.action.dismissAlarm | 指示启动删除闹钟的页面功能的操作。 |
| ACTION_DISMISS_TIMER | ohos.want.action.dismissTimer | 指示启动页面功能以关闭计时器的操作。 |
| ACTION_SEND_SMS | ohos.want.action.sendSms | 指示启动发送sms的页面功能的操作。 |
| ACTION_CHOOSE | ohos.want.action.choose | 指示启动页面功能以打开联系人或图片的操作。 |
| ACTION_IMAGE_CAPTURE<sup>8+</sup> | ohos.want.action.imageCapture | 指示启动页面拍照功能的操作。 |
| ACTION_VIDEO_CAPTURE<sup>8+</sup> | ohos.want.action.videoCapture | 指示启动页面功能以拍摄视频的操作。 |
| ACTION_SELECT | ohos.want.action.select | 指示显示应用程序选择对话框的操作。 |
| ACTION_SEND_DATA | ohos.want.action.sendData | 指示发送单个数据记录的操作。 |
| ACTION_SEND_MULTIPLE_DATA | ohos.want.action.sendMultipleData | 指示发送多个数据记录的操作。 |
| ACTION_SCAN_MEDIA_FILE | ohos.want.action.scanMediaFile | 指示请求媒体扫描仪扫描文件并将文件添加到媒体库的操作。 |
| ACTION_VIEW_DATA | ohos.want.action.viewData | 指示查看数据的操作。 |
| ACTION_EDIT_DATA | ohos.want.action.editData | 指示编辑数据的操作。 |
| INTENT_PARAMS_INTENT | ability.want.params.INTENT | 指示用行为选择器来展示选择的操作。 |
| INTENT_PARAMS_TITLE | ability.want.params.TITLE | 指示与行为选择器一起使用时的字符序列对话框标题。 |
| ACTION_FILE_SELECT<sup>7+</sup> | ohos.action.fileSelect | 指示选择文件的操作。 |
| PARAMS_STREAM<sup>7+</sup> | ability.params.stream | 指示发送数据时与目标关联的数据流的URI |
| ACTION_APP_ACCOUNT_OAUTH <sup>8+</sup> | ohos.account.appAccount.action.oauth | 指示提供oauth服务的操作。 |
| ACTION_APP_ACCOUNT_AUTH <sup>9+</sup> | account.appAccount.action.auth | 指示提供auth服务的操作。 |
| ACTION_MARKET_DOWNLOAD <sup>9+</sup> | ohos.want.action.marketDownload | 表示从应用程序市场下载应用程序的的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| ACTION_MARKET_CROWDTEST <sup>9+</sup> | ohos.want.action.marketCrowdTest | 指示从应用程序市场众测应用程序的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| DLP_PARAMS_SANDBOX<sup>9+</sup> |ohos.dlp.params.sandbox | 指示沙盒标志的参数的操作。<br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| DLP_PARAMS_BUNDLE_NAME<sup>9+</sup> |ohos.dlp.params.bundleName |指示DLP包名称的参数的操作。 <br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| DLP_PARAMS_MODULE_NAME<sup>9+</sup> |ohos.dlp.params.moduleName |指示DLP模块名称的参数的操作。 <br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| DLP_PARAMS_ABILITY_NAME<sup>9+</sup> |ohos.dlp.params.abilityName |指示DLP能力名称的参数的操作。 <br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
| DLP_PARAMS_INDEX<sup>9+</sup> |ohos.dlp.params.index |指示DLP索引参数的操作。 <br>**系统API**:该接口为系统接口,三方应用不支持调用。 |
## wantConstant.Entity
want实体的常数。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 值 | 描述 |
| ------------ | ------------------ | ---------------------- |
| ENTITY_DEFAULT | entity.system.default | 指示默认实体,如果未指定该实体,则使用该实体。 |
| ENTITY_HOME | entity.system.home | 指示主屏幕实体。 |
| ENTITY_VOICE | entity.system.voice | 表示语音交互实体。 |
| ENTITY_BROWSABLE | entity.system.browsable | 指示浏览器类别。 |
| ENTITY_VIDEO | entity.system.video | 指示视频类别。 |
## wantConstant.Flags
Flags说明。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 值 | 描述 |
| ------------------------------------ | ---------- | ------------------------------------------------------------ |
| 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上可能持久化的授权。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。 |
| FLAG_AUTH_PREFIX_URI_PERMISSION | 0x00000080 | 按照前缀匹配的方式验证URI权限。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。 |
| FLAG_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动。 |
| FLAG_START_FOREGROUND_ABILITY | 0x00000200 | 指示无论主机应用程序是否已启动,都将启动使用服务模板的功能。 |
| FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示迁移是可拉回的。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。 |
| FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能。 |
| FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,使用后台模式安装该功能。 |
| FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给 **[ohos.app.Context](js-apis-ability-context.md)****startAbility**方法的**Want**设置此标志,并且必须与**flag_ABILITY_NEW_MISSION**一起使用。 |
| FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
| FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
\ No newline at end of file
...@@ -4,7 +4,7 @@ EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境 ...@@ -4,7 +4,7 @@ EnvironmentCallback模块提供应用上下文ApplicationContext对系统环境
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.EnvironmentCallback](js-apis-app-ability-EnvironmentCallback.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
......
# ExtensionAbility
ExtensionAbility,是Stage模型中新增的扩展组件的基类,一般用于处理无界面的任务,生命周期较简单,没有前后台生命周期。
> **说明:**
>
> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 本模块接口仅可在Stage模型下使用。
## 导入模块
```js
import ExtensionAbility from '@ohos.application.ExtensionAbility';
```
## AbilityStage.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
环境变化通知接口,发生全局配置变更时回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 发生全局配置变更时触发回调,当前全局配置包括系统语言、深浅色模式。 |
**示例:**
```js
class MyExtension extends ExtensionAbility {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, language:' + config.language);
}
}
```
## AbilityStage.onMemoryLevel
onMemoryLevel(level: AbilityConstant.MemoryLevel): void;
当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。
**系统能力**:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| level | [AbilityConstant.MemoryLevel](js-apis-application-abilityConstant.md#abilityconstantmemorylevel) | 是 | 回调返回内存微调级别,显示当前内存使用状态。|
**示例:**
```js
class MyExtension extends ExtensionAbility {
onMemoryLevel(level) {
console.log('onMemoryLevel, level:' + JSON.stringify(level));
}
}
```
\ No newline at end of file
...@@ -4,7 +4,7 @@ StartOptions模块对系统的基本通信组件进行查询和设置的能力 ...@@ -4,7 +4,7 @@ StartOptions模块对系统的基本通信组件进行查询和设置的能力
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.StartOptions](js-apis-app-ability-StartOptions.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
## 导入模块 ## 导入模块
......
...@@ -6,7 +6,7 @@ AbilityConstant提供启动参数的接口的能力,包括设置初次开始 ...@@ -6,7 +6,7 @@ AbilityConstant提供启动参数的接口的能力,包括设置初次开始
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.AbilityConstant](js-apis-app-ability-abilityConstant.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ AbilityDelegator提供添加用于监视指定ability的生命周期状态更改 ...@@ -4,7 +4,7 @@ AbilityDelegator提供添加用于监视指定ability的生命周期状态更改
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃,替换木块为[@ohos.app.ability.abilityDelegatorRegistry (AbilityDelegatorRegistry)](js-apis-app-ability-abilityDelegator.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 使用说明 ## 使用说明
......
...@@ -4,7 +4,7 @@ AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命 ...@@ -4,7 +4,7 @@ AbilityLifecycleCallback模块提供应用上下文ApplicationContext的生命
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.AbilityLifecycleCallback](js-apis-app-ability-abilityLifecycleCallback.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
......
...@@ -4,7 +4,7 @@ AbilityManager模块提供对Ability相关信息和状态信息进行获取、 ...@@ -4,7 +4,7 @@ AbilityManager模块提供对Ability相关信息和状态信息进行获取、
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持, 从API version 9废弃,替换模块为[@ohos.app.ability.abilityManager](js-apis-app-ability-abilityManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口均为系统接口,三方应用不支持调用。 > 本模块接口均为系统接口,三方应用不支持调用。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方 ...@@ -4,7 +4,7 @@ AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9 开始支持,从API version 9废弃,替换模块为[abilityMonitor (AbilityMonitor)](js-apis-app-ability-abilityMonitor.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 使用说明 ## 使用说明
...@@ -38,6 +38,7 @@ Ability监听器 ...@@ -38,6 +38,7 @@ Ability监听器
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------------------------------------------ | -------- | ---- | ---- | ------------------------------------------------------------ | | ------------------------------------------------------------ | -------- | ---- | ---- | ------------------------------------------------------------ |
| abilityName | string | 是 | 是 | 当前AbilityMonitor绑定的ability名称 | | abilityName | string | 是 | 是 | 当前AbilityMonitor绑定的ability名称 |
| moduleName? | string | 是 | 是 | 当前AbilityMonitor绑定的module名称 |
| onAbilityCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被启动初始化时的回调函数<br/>不设置该属性则不能收到该生命周期回调 | | onAbilityCreate?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability被启动初始化时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityForeground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成前台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 | | onAbilityForeground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成前台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
| onAbilityBackground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成后台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 | | onAbilityBackground?:(data: [Ability](js-apis-application-ability.md#Ability)) | function | 是 | 是 | ability状态变成后台时的回调函数<br/>不设置该属性则不能收到该生命周期回调 |
......
...@@ -6,7 +6,7 @@ AbilityStage模块提供在HAP加载的时候,通知开发者,可以在此 ...@@ -6,7 +6,7 @@ AbilityStage模块提供在HAP加载的时候,通知开发者,可以在此
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9 开始支持, 从API version 9废弃,替换模块为[@ohos.app.ability.AbilityStage](js-apis-app-ability-abilitystage.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
## 导入模块 ## 导入模块
......
...@@ -196,3 +196,303 @@ unregisterEnvironmentCallback(callbackId: **number**, callback: AsyncCallback<* ...@@ -196,3 +196,303 @@ unregisterEnvironmentCallback(callbackId: **number**, callback: AsyncCallback<*
console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error)); console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error));
}); });
``` ```
## ApplicationContext.on
on(type: "abilityLifecycle", callback: AbilityLifecycleCallback): **number**;
注册监听应用内生命周期
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------------ | -------- | ---- | ------------------------------ |
| type | string | 是 | 调用接口类型 |
| callback | [AbilityLifecycleCallback](js-apis-application-abilityLifecycleCallback.md) | 是 | 回调方法,返回注册监听事件的ID。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------ |
| number | 返回的此次注册监听生命周期的ID(每次注册该ID会自增+1,当超过监听上限数量2^63-1时,返回-1)。|
**示例:**
```js
import Ability from "@ohos.application.Ability";
var lifecycleId;
export default class MyAbility extends Ability {
onCreate() {
console.log("MyAbility onCreate")
let AbilityLifecycleCallback = {
onAbilityCreate(ability){
console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability));
},
onWindowStageCreate(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageCreate ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageCreate windowStage:" + JSON.stringify(windowStage));
},
onWindowStageActive(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageActive ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageActive windowStage:" + JSON.stringify(windowStage));
},
onWindowStageInactive(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageInactive ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageInactive windowStage:" + JSON.stringify(windowStage));
},
onWindowStageDestroy(ability, windowStage){
console.log("AbilityLifecycleCallback onWindowStageDestroy ability:" + JSON.stringify(ability));
console.log("AbilityLifecycleCallback onWindowStageDestroy windowStage:" + JSON.stringify(windowStage));
},
onAbilityDestroy(ability){
console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability));
},
onAbilityForeground(ability){
console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability));
},
onAbilityBackground(ability){
console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability));
},
onAbilityContinue(ability){
console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability));
}
}
// 1.通过context属性获取applicationContext
let applicationContext = this.context.getApplicationContext();
// 2.通过applicationContext注册监听应用内生命周期
try {
lifecycleId = applicationContext.on("abilityLifecycle", AbilityLifecycleCallback);
console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleId));
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
},
onDestroy() {
let applicationContext = this.context.getApplicationContext();
try {
applicationContext.off("abilityLifecycle", lifecycleId, (error, data) => {
console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
}
}
```
## ApplicationContext.off
off(type: "abilityLifecycle", callbackId: **number**, callback: AsyncCallback<**void**>): **void**;
取消监听应用内生命周期
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | -------- | ---- | -------------------------- |
| type | string | 是 | 调用接口类型 |
| callbackId | number | 是 | 注册监听应用内生命周期的ID。 |
| callback | AsyncCallback\<void> | 是 | 回调方法。 |
**示例:**
```js
let applicationContext = this.context.getApplicationContext();
let lifecycleId = 1;
console.log("stage applicationContext: " + JSON.stringify(applicationContext));
try {
applicationContext.off("abilityLifecycle", lifecycleId, (error, data) => {
console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## ApplicationContext.off
off(type: "abilityLifecycle", callbackId: **number**, callback: AsyncCallback<**void**>): Promise&lt;void&gt;;
取消监听应用内生命周期
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | -------- | ---- | -------------------------- |
| type | string | 是 | 调用接口类型 |
| callbackId | number | 是 | 注册监听应用内生命周期的ID。 |
| callback | AsyncCallback\<void> | 是 | 回调方法。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise形式返回执行结果。 |
**示例:**
```js
let applicationContext = this.context.getApplicationContext();
let lifecycleId = 1;
console.log("stage applicationContext: " + JSON.stringify(applicationContext));
try {
applicationContext.off("abilityLifecycle", lifecycleId)
.then((data) => {
console.log("unregisterAbilityLifecycleCallback success");
})
.catch((error) => {
console.log("unregisterAbilityLifecycleCallback failed, err.code: " + JSON.stringify(err.code) +
"err.message: " + JSON.stringify(err.message));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
```
## ApplicationContext.on
on(type: "environment", callback: EnvironmentCallback): **number**;
注册对系统环境变化的监听。使用callback异步回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------------ | -------- | ---- | ------------------------------ |
| callback | [EnvironmentCallback](js-apis-application-EnvironmentCallback.md) | 是 | 回调方法,返回注册监听事件的ID。 |
**返回值:**
| 类型 | 说明 |
| ------ | ------------------------------ |
| number | 返回的此次注册监听系统环境变化的ID(每次注册该ID会自增+1,当超过监听上限数量2^63-1时,返回-1)。|
**示例:**
```js
import Ability from "@ohos.application.Ability";
var callbackId;
export default class MyAbility extends Ability {
onCreate() {
console.log("MyAbility onCreate")
globalThis.applicationContext = this.context.getApplicationContext();
let EnvironmentCallback = {
onConfigurationUpdated(config){
console.log("onConfigurationUpdated config:" + JSON.stringify(config));
},
}
// 1.获取applicationContext
let applicationContext = globalThis.applicationContext;
try {
// 2.通过applicationContext注册监听应用内生命周期
callbackId = applicationContext.on("environment", EnvironmentCallback);
console.log("registerEnvironmentCallback number: " + JSON.stringify(callbackId));
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
}
onDestroy() {
let applicationContext = globalThis.applicationContext;
try {
applicationContext.off("environment", callbackId, (error, data) => {
console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error));
});
} catch (paramError) {
console.log('error.code: ' + JSON.stringify(paramError.code) +
' error.message: ' + JSON.stringify(paramError.message));
}
}
}
```
## ApplicationContext.off
off("environment", callbackId: **number**, callback: AsyncCallback<**void**>): **void**;
取消对系统环境变化的监听。使用callback异步回调。
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | -------- | ---- | -------------------------- |
| callbackId | number | 是 | 注册监听系统环境变化的ID。 |
| callback | AsyncCallback\<void> | 是 | 回调方法。 |
**示例:**
```js
let applicationContext = this.context.getApplicationContext();
let callbackId = 1;
try {
applicationContext.off("environment", callbackId, (error, data) => {
console.log("unregisterEnvironmentCallback success, err: " + JSON.stringify(error));
});
} catch (paramError) {
console.log("error: " + paramError.code + ", " + paramError.message);
}
```
## getProcessRunningInfomation
getProcessRunningInformation(callback: AsyncCallback&lt;Array&lt;ProcessRunningInformation&gt;&gt;): void;
获取正在运行的进程信息
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------------ | -------- | ---- | ------------------------------ |
| callback | AsyncCallback&lt;Array&lt;[ProcessRunningInformation](js-apis-processrunninginformation.md)&gt;&gt; | 是 | 回调方法,返回正在运行的进程信息。 |
**示例:**
```js
let applicationContext = this.context.getApplicationContext();
applicationContext.getProcessRunningInfomation((err, datas) => {
for (let data of datas) {
console.log("ProcessRunningInformation: " + JSON.stringify(data));
}
})
```
## killProcessesBySelf
killProcessesBySelf(callback: AsyncCallback&lt;void&gt;): void;
杀死自身运行的进程
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------------------------ | -------- | ---- | ------------------------------ |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调方法,返回处理信息。 |
**示例:**
```js
let applicationContext = this.context.getApplicationContext();
applicationContext.killProcessesBySelf((err, datas) => {
console.log("killProcessesBySelf success, err: " + JSON.stringify(err));
})
```
\ No newline at end of file
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
定义环境变化信息。 定义环境变化信息。
**说明:**
> 本模块从API version 9废弃,替换模块为[@ohos.application.Configuration (Configuration)](js-apis-app-ability-configuration.md)
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
......
...@@ -4,7 +4,7 @@ ConfigurationConstant模块提供配置信息枚举值定义的能力。 ...@@ -4,7 +4,7 @@ ConfigurationConstant模块提供配置信息枚举值定义的能力。
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃,替换模块为[@ohos.application.ConfigurationConstant (ConfigurationConstant)](js-apis-app-ability-configurationConstant.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ appManager模块提供App管理的能力,包括查询当前是否处于稳定 ...@@ -4,7 +4,7 @@ appManager模块提供App管理的能力,包括查询当前是否处于稳定
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 7 开始支持, 从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appmanager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
...@@ -12,7 +12,7 @@ appManager模块提供App管理的能力,包括查询当前是否处于稳定 ...@@ -12,7 +12,7 @@ appManager模块提供App管理的能力,包括查询当前是否处于稳定
import app from '@ohos.application.appManager'; import app from '@ohos.application.appManager';
``` ```
## appManager.isRunningInStabilityTest<sup>8+</sup> ## appManager.isRunningInStabilityTest
static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void
...@@ -31,12 +31,12 @@ static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -31,12 +31,12 @@ static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void
```js ```js
import app from '@ohos.application.appManager'; import app from '@ohos.application.appManager';
app.isRunningInStabilityTest((err, flag) => { app.isRunningInStabilityTest((err, flag) => {
console.log('startAbility result:' + JSON.stringify(err)); console.log('startAbility result:' + err.code + ', ' + err.message);
}) })
``` ```
## appManager.isRunningInStabilityTest<sup>8+</sup> ## appManager.isRunningInStabilityTest
static isRunningInStabilityTest(): Promise&lt;boolean&gt; static isRunningInStabilityTest(): Promise&lt;boolean&gt;
...@@ -53,7 +53,7 @@ static isRunningInStabilityTest(): Promise&lt;boolean&gt; ...@@ -53,7 +53,7 @@ static isRunningInStabilityTest(): Promise&lt;boolean&gt;
**示例:** **示例:**
```js ```js
import app from '@ohos.application.appManager'; import app from '@ohos.app.ability.appManager';
app.isRunningInStabilityTest().then((flag) => { app.isRunningInStabilityTest().then((flag) => {
console.log('success:' + JSON.stringify(flag)); console.log('success:' + JSON.stringify(flag));
}).catch((error) => { }).catch((error) => {
......
...@@ -4,7 +4,7 @@ ErrorManager模块提供对错误观察器的注册和注销的能力。 ...@@ -4,7 +4,7 @@ ErrorManager模块提供对错误观察器的注册和注销的能力。
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9开始支持,从API version 9废弃,替换接口为[@ohos.app.ability.errorManager](js-apis-app-ability-errorManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
``` ```
......
...@@ -4,7 +4,7 @@ FormInfo模块提供对卡片的相关卡片信息和状态进行设置和查询 ...@@ -4,7 +4,7 @@ FormInfo模块提供对卡片的相关卡片信息和状态进行设置和查询
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃, 替换模块为[@ohos.app.ability.formInfo](js-apis-app-ability-formInfo-new.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
...@@ -52,6 +52,7 @@ import formInfo from '@ohos.application.formInfo'; ...@@ -52,6 +52,7 @@ import formInfo from '@ohos.application.formInfo';
| 名称 | 值 | 说明 | | 名称 | 值 | 说明 |
| ----------- | ---- | ------------ | | ----------- | ---- | ------------ |
| JS | 1 | 卡片类型为JS。 | | JS | 1 | 卡片类型为JS。 |
| eTS | 2 | 卡片类型为eTS。 |
## ColorMode ## ColorMode
...@@ -121,6 +122,16 @@ import formInfo from '@ohos.application.formInfo'; ...@@ -121,6 +122,16 @@ import formInfo from '@ohos.application.formInfo';
| Dimension_4_4<sup>9+</sup> | 4 | 4 x 4 form。 | | Dimension_4_4<sup>9+</sup> | 4 | 4 x 4 form。 |
| Dimension_2_1<sup>9+</sup> | 5 | 2 x 1 form。 | | Dimension_2_1<sup>9+</sup> | 5 | 2 x 1 form。 |
## VisibilityType
卡片可见性。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| FORM_VISIBLE | 1 | 卡片状态为可见。 |
| FORM_INVISIBLE | 2 | 卡片状态为不可见。 |
## FormInfoFilter ## FormInfoFilter
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.formBindingData](js-apis-app-ability-formbindingdata.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ FormExtension模块提供了FormExtension卡片扩展相关接口。 ...@@ -4,7 +4,7 @@ FormExtension模块提供了FormExtension卡片扩展相关接口。
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.FormExtension](js-apis-app-ability-formextension.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ FormHost模块提供了卡片使用方相关接口的能力,包括删除、释 ...@@ -4,7 +4,7 @@ FormHost模块提供了卡片使用方相关接口的能力,包括删除、释
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃, 替换模块为[@ohos.app.ability.formHost](js-apis-app-ability-formhost-new.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口均为系统接口,三方应用不支持调用。 > 本模块接口均为系统接口,三方应用不支持调用。
## 导入模块 ## 导入模块
...@@ -1121,4 +1121,61 @@ shareForm(formId: string, deviceId: string): Promise&lt;void&gt;; ...@@ -1121,4 +1121,61 @@ shareForm(formId: string, deviceId: string): Promise&lt;void&gt;;
}).catch((error) => { }).catch((error) => {
console.log('formHost shareForm, error:' + JSON.stringify(error)); console.log('formHost shareForm, error:' + JSON.stringify(error));
}); });
```
## notifyFormsPrivacyProtected<sup>9+</sup>
notifyFormsPrivacyProtected(formIds: Array&lt;string&gt;, isProtected: boolean, callback: AsyncCallback&lt;void&gt;): void;
通知卡片隐私是否需要保护。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isProtected | boolean | 是 | 是否需要保护 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback形式返回结果 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsPrivacyProtected(formIds, true, (error, data) => {
if (error.code) {
console.log('formHost notifyFormsPrivacyProtected, error:' + JSON.stringify(error));
}
});
```
## notifyFormsPrivacyProtected<sup>9+</sup>
notifyFormsPrivacyProtected(formIds: Array&lt;string&gt;, isProtected: boolean): Promise&lt;void&gt;;
通知卡片隐私是否需要保护。
**需要权限**:ohos.permission.REQUIRE_FORM
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是 | 卡片标识列表 |
| isProtected | boolean | 是 | 是否需要保护 |
**示例:**
```js
var formIds = new Array("12400633174999288", "12400633174999289");
formHost.notifyFormsPrivacyProtected(formIds, true).then(() => {
console.log('formHost notifyFormsPrivacyProtected success');
}).catch((error) => {
console.log('formHost notifyFormsPrivacyProtected, error:' + JSON.stringify(error));
});
``` ```
\ No newline at end of file
...@@ -4,7 +4,7 @@ FormProvider模块提供了卡片提供方相关接口的能力,包括更新 ...@@ -4,7 +4,7 @@ FormProvider模块提供了卡片提供方相关接口的能力,包括更新
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.formProvider](js-apis-app-ability-formprovider.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ missionManager模块提供系统任务管理能力,包括对系统任务执行 ...@@ -4,7 +4,7 @@ missionManager模块提供系统任务管理能力,包括对系统任务执行
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 8开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.missionManager](js-apis-app-ability-missionManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ ServiceExtensionAbility模块提供ServiceExtension服务扩展相关接口的 ...@@ -4,7 +4,7 @@ ServiceExtensionAbility模块提供ServiceExtension服务扩展相关接口的
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 9开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.ServiceExtensionAbility](js-apis-app-ability-service-extension-ability.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。 > 本模块接口仅可在Stage模型下使用。
## 导入模块 ## 导入模块
......
...@@ -4,7 +4,7 @@ WantAgent模块提供了触发、取消、比较WantAgent实例和获取bundle ...@@ -4,7 +4,7 @@ WantAgent模块提供了触发、取消、比较WantAgent实例和获取bundle
> **说明:** > **说明:**
> >
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 本模块首批接口从API version 7开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.wantAgent](js-apis-app-ability-wantAgent.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块 ## 导入模块
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册