智能客服
你问我答,随时在线为你解决问题

























CompletionHandlerForAbilityStartCallback作为AbilityStartCallback的可选参数,用于返回垂域面板拉起指定类型的Ability组件的回调结果。
本模块首批接口从API version 21 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。
- import { CompletionHandlerForAbilityStartCallback } from '@kit.AbilityKit';
CompletionHandlerForAbilityStartCallback提供了onRequestSuccess和onRequestFailure两个回调函数属性,分别在拉起指定类型的Ability组件成功和失败时回调。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| onRequestSuccess | OnRequestSuccessFn | 否 | 是 | 拉起指定类型的Ability组件成功时的回调函数。 元服务API:从API version 21开始,该接口支持在元服务中使用。 |
| onRequestFailure | OnRequestFailureFn | 否 | 是 | 拉起指定类型的Ability组件失败时的回调函数。 元服务API:从API version 21开始,该接口支持在元服务中使用。 |
type OnRequestSuccessFn = (name: string) => void
拉起指定类型的Ability组件成功时的回调函数类型。
元服务API:从API version 21开始,该接口支持在元服务中使用。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 被拉起Ability组件或系统操作的名称。 Ability组件名称采用'[bundleName]#[moduleName]#[abilityName]'格式拼接。 |
示例:
type OnRequestFailureFn = (name: string, failureCode: AbilityStartFailureCode, failureMessage: string) => void
拉起指定类型的Ability组件失败时的回调函数类型。
元服务API:从API version 21开始,该接口支持在元服务中使用。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 被拉起Ability组件或系统操作的名称。 Ability组件名称采用'[bundleName]#[moduleName]#[abilityName]'格式拼接。如果用户自动取消拉起,name为空。 |
| failureCode | AbilityStartFailureCode | 是 | 失败原因的错误码。 |
| failureMessage | string | 是 | 失败原因的描述。 |
示例:
- import { AbilityStartFailureCode, common, CompletionHandlerForAbilityStartCallback } from '@kit.AbilityKit';
- import { BusinessError } from '@kit.BasicServicesKit';
-
- @Entry
- @Component
- struct Index {
- @State message: string = 'Hello World';
- context: common.UIAbilityContext = this.getUIContext().getHostContext() as common.UIAbilityContext;
-
- completionHandler: CompletionHandlerForAbilityStartCallback = {
- onRequestSuccess: (name: string) => {
- console.info(`testTag onRequestSuccess name` + name);
- },
- onRequestFailure: (name: string, failureCode: AbilityStartFailureCode, failureMessage: string) => {
- console.info(`testTag onRequestFailure name: ` + name + `, failureCode:` + failureCode + `, failureMessage:` +
- failureMessage);
- }
- };
- abilityStartCallback: common.AbilityStartCallback = {
- onError: (code: number, name: string, message: string) => {
- console.error(`testTag code:` + code + `name:` + name + `message:` + message);
- },
- onResult: (abilityResult: common.AbilityResult) => {
- console.info(`testTag resultCode:` + abilityResult.resultCode + `bundleName:` + abilityResult.want?.bundleName);
- },
- completionHandler: this.completionHandler,
- };
-
- build() {
- Column({ space: 10 }) {
- Button('test')
- .type(ButtonType.Capsule)
- .offset({ x: 0, y: 60 })
- .width('80%')
- .type(ButtonType.Capsule)
- .margin({ top: 10 })
- .onClick(() => {
- let wantParam: Record<string, Object> = {
- 'time': '2023-10-23 20:45'
- };
- this.context.startAbilityByType("share", wantParam, this.abilityStartCallback).then(() => {
- console.info(`startAbilityByType success`);
- }).catch((err: BusinessError) => {
- console.error(`Failed startAbilityByType. Code: ${JSON.stringify(err.code)}, message: ${JSON.stringify(err.message)}`);
- });
- })
- }
- }
- }
拉起指定类型的Ability组件失败的特定错误码。
元服务API:从API version 21开始,该接口支持在元服务中使用。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 |
|---|---|---|
| FAILURE_CODE_SYSTEM_MALFUNCTION | 0 | 表示由于系统错误(如跳转弹框崩溃)而无法拉起Ability组件。 |
| FAILURE_CODE_USER_CANCEL | 1 | 用户取消。 |
智能客服
你问我答,随时在线为你解决问题
合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
解决方案
精准高效的一站式服务支持,助力开发者商业成功