
HarmonyOS API:FA模型能力接口
版本:v3.1 Beta
@ohos.ability.ability (Ability)
更新时间: 2023-03-30 17:37
Ability模块将二级模块API组织在一起方便开发者进行导出。
说明
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在FA模型下使用
导入模块
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
名称 | 类型 | 必填 | 描述 |
DataAbilityHelper | 否 | DataAbilityHelper二级模块。 | |
PacMap | PacMap | 否 | PacMap二级模块。 |
DataAbilityOperation | 否 | DataAbilityOperation二级模块。 | |
DataAbilityResult | 否 | DataAbilityResult二级模块。 | |
AbilityResult | 否 | AbilityResult二级模块。 | |
ConnectOptions | 否 | ConnectOptions二级模块。 | |
StartAbilityParameter | 否 | StartAbilityParameter二级模块。 |
示例:
@ohos.ability.featureAbility (FeatureAbility模块)
更新时间: 2023-02-17 09:19
FeatureAbility模块提供带有UI设计与用户交互的能力,包括启动新的ability、获取dataAbilityHelper、设置此Page Ability、获取当前Ability对应的窗口,连接服务等。
说明
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在FA模型下使用。
使用限制
FeatureAbility模块的接口只能在Page类型的Ability调用
导入模块
featureAbility.startAbility
startAbility(parameter: StartAbilityParameter, callback: AsyncCallback<number>): void
启动新的ability(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
parameter | 是 | 表示被启动的Ability。 | |
callback | AsyncCallback<number> | 是 | 被指定的回调方法。 |
示例:
featureAbility.startAbility
startAbility(parameter: StartAbilityParameter): Promise<number>
启动新的ability(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
parameter | 是 | 表示被启动的Ability。 |
示例:
featureAbility.acquireDataAbilityHelper7+
acquireDataAbilityHelper(uri: string): DataAbilityHelper
获取dataAbilityHelper。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
uri | string | 是 | 指示要打开的文件的路径。 |
返回值:
类型 | 说明 |
DataAbilityHelper | 用来协助其他Ability访问DataAbility的工具类。 |
示例:
featureAbility.startAbilityForResult7+
startAbilityForResult(parameter: StartAbilityParameter, callback: AsyncCallback<AbilityResult>): void
启动一个ability,并在该ability被销毁时返回执行结果(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
parameter | 是 | 表示被启动的Ability。 | |
callback | AsyncCallback<AbilityResult> | 是 | 被指定的回调方法。 |
示例:
featureAbility.startAbilityForResult7+
startAbilityForResult(parameter: StartAbilityParameter): Promise<AbilityResult>
启动一个ability,并在该ability被销毁时返回执行结果(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
parameter | 是 | 表示被启动的Ability |
返回值:
类型 | 说明 |
Promise<AbilityResult> | 返回执行结果。 |
示例:
featureAbility.terminateSelfWithResult7+
terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void
设置此Page Ability将返回给调用者的结果代码和数据并破坏此Page Ability(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
parameter | 是 | 表示被启动的Ability。 | |
callback | AsyncCallback<void> | 是 | 被指定的回调方法。 |
示例:
featureAbility.terminateSelfWithResult7+
terminateSelfWithResult(parameter: AbilityResult): Promise<void>
设置此Page Ability将返回给调用者的结果代码和数据并破坏此Page Ability(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
parameter | 是 | 表示被启动的Ability |
返回值:
类型 | 说明 |
Promise<void> | 以Promise形式返回结果。 |
示例:
featureAbility.hasWindowFocus7+
hasWindowFocus(callback: AsyncCallback<boolean>): void
检查Ability的主窗口是否具有窗口焦点(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<boolean> | 是 | 被指定的回调方法。 如果此Ability当前具有视窗焦点,则返回true;否则返回false。 |
示例:
featureAbility.hasWindowFocus7+
hasWindowFocus(): Promise<boolean>
检查Ability的主窗口是否具有窗口焦点(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 |
Promise<boolean> | 如果此Ability当前具有视窗焦点,则返回true;否则返回false。 |
示例:
featureAbility.getWant
getWant(callback: AsyncCallback<Want>): void
获取从Ability发送的Want(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<Want> | 是 | 被指定的回调方法。 |
示例:
featureAbility.getWant
getWant(): Promise<Want>
获取从Ability发送的Want(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 |
Promise<Want> | 以Promise的形式返回结果。 |
示例:
featureAbility.getContext
getContext(): Context
获取应用上下文。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 |
Context | 返回应用程序上下文。 |
示例:
featureAbility.terminateSelf7+
terminateSelf(callback: AsyncCallback<void>): void
设置Page Ability返回给被调用方的结果代码和数据,并销毁此Page Ability(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 被指定的回调方法 |
示例:
featureAbility.terminateSelf7+
terminateSelf(): Promise<void>
设置Page Ability返回给被调用方的结果代码和数据,并销毁此Page Ability(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 |
Promise<void> | 以Promise的形式返回结果。 |
示例:
featureAbility.connectAbility7+
connectAbility(request: Want, options:ConnectOptions): number
将当前ability连接到指定ServiceAbility(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
request | Want | 是 | 表示被连接的ServiceAbility。 |
options | 是 | 被指定的回调方法。 |
返回值:
类型 | 说明 |
number | 连接的ServiceAbilityID。 |
示例:
featureAbility.disconnectAbility7+
disconnectAbility(connection: number, callback:AsyncCallback<void>): void
断开与指定ServiceAbility的连接(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
connection | number | 是 | 指定断开连接的ServiceAbilityID |
callback | AsyncCallback<void> | 是 | 被指定的回调方法 |
示例:
featureAbility.disconnectAbility7+
disconnectAbility(connection: number): Promise<void>
断开与指定ServiceAbility的连接(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
connection | number | 是 | 指定断开连接的ServiceAbilityID |
返回值:
类型 | 说明 |
Promise<void> | 以Promise形式返回结果。 |
示例:
featureAbility.getWindow7+
getWindow(callback: AsyncCallback<window.Window>): void
获取当前Ability对应的窗口(callback形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<window.Window> | 是 | 返回与当前Ability对应的窗口。 |
示例:
featureAbility.getWindow7+
getWindow(): Promise<window.Window>;
获取当前Ability对应的窗口(Promise形式)。
系统能力:SystemCapability.Ability.AbilityRuntime.FAModel
返回值:
类型 | 说明 |
Promise<window.Window> | 返回与当前Ability对应的窗口。 |
示例:
AbilityWindowConfiguration
使用时通过featureAbility.AbilityWindowConfiguration获取。
示例:
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel
名称 | 值 | 说明 |
WINDOW_MODE_UNDEFINED7+ | 0 | 未定义。 |
WINDOW_MODE_FULLSCREEN7+ | 1 | 全屏。 |
WINDOW_MODE_SPLIT_PRIMARY7+ | 100 | 分屏主屏。 |
WINDOW_MODE_SPLIT_SECONDARY7+ | 101 | 分屏次屏。 |
WINDOW_MODE_FLOATING7+ | 102 | 悬浮窗。 |
AbilityStartSetting
abilityStartSetting属性是一个定义为[key: string]: any的对象,key对应设定类型为:AbilityStartSetting枚举类型,value对应设定类型为:AbilityWindowConfiguration枚举类型。
使用时通过featureAbility.AbilityStartSetting获取。
示例:
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel
名称 | 值 | 说明 |
BOUNDS_KEY7+ | "abilityBounds" | 窗口显示大小属性的参数名。 |
WINDOW_MODE_KEY7+ | "windowMode" | 窗口显示模式属性的参数名。 |
DISPLAY_ID_KEY7+ | "displayId" | 窗口显示设备ID属性的参数名。 |
ErrorCode
获取错误代码。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel
名称 | 值 | 说明 |
NO_ERROR7+ | 0 | 没有错误。 |
INVALID_PARAMETER7+ | -1 | 无效的参数。 |
ABILITY_NOT_FOUND7+ | -2 | 找不到能力。 |
PERMISSION_DENY7+ | -3 | 拒绝许可。 |
DataAbilityOperationType
指示数据的操作类型。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.FAModel
名称 | 值 | 说明 |
TYPE_INSERT7+ | 1 | 插入类型。 |
TYPE_UPDATE7+ | 2 | 修改类型。 |
TYPE_DELETE7+ | 3 | 删除类型。 |
TYPE_ASSERT7+ | 4 | 声明类型。 |
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_ABILITYSLICE_MULTI_DEVICE | 0x00000100 | 支持分布式调度系统中的多设备启动。 |
FLAG_ABILITY_CONTINUATION_REVERSIBLE | 0x00000400 | 表示迁移是可拉回的。 |
FLAG_INSTALL_ON_DEMAND | 0x00000800 | 如果未安装指定的功能,请安装该功能。 |
FLAG_INSTALL_WITH_BACKGROUND_MODE | 0x80000000 | 如果未安装,使用后台模式安装该功能。 |
FLAG_ABILITY_CLEAR_MISSION | 0x00008000 | 指示清除其他任务的操作。可以为传递给startAbility方法的Want设置此标志,并且必须与flag_ABILITY_NEW_MISSION一起使用。 |
FLAG_ABILITY_NEW_MISSION | 0x10000000 | 指示在历史任务堆栈上创建任务的操作。 |
FLAG_ABILITY_MISSION_TOP | 0x20000000 | 指示如果启动能力的现有实例已位于任务堆栈的顶部,则将重用该实例。否则,将创建一个新的能力实例。 |
