1# @ohos.app.ability.continueManager (continueManager) 2 3continueManager提供了应用跨端迁移的管理能力,如获取应用跨端迁移过程中快速拉起目标应用的结果。 4 5> **说明:** 6> 7> 本模块首批接口从API version 18开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import { continueManager } from '@kit.AbilityKit'; 13``` 14 15## continueManager.on 16 17on(type: 'prepareContinue', context: Context, callback: AsyncCallback<ContinueResultInfo>): void 18 19在应用快速拉起时,注册回调函数以获取快速拉起结果。使用callback异步回调。 20 21> **说明:** 22> 23> 快速拉起功能支持在用户触发迁移、等待迁移数据返回的过程中,并行拉起应用,减小用户等待时间。在源端应用[module.json5配置文件](../../quick-start/module-configuration-file.md)的continueType标签的取值中添加“_ContinueQuickStart”后缀,可以开启快速拉起功能。 24 25**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 26 27**参数**: 28 29 | 参数名 | 类型 | 必填 | 说明 | 30 | -------- |-------------------------------------------------------------------------------------------------| -------- |------------------------------------------| 31 | type | string | 是 | 固定值:prepareContinue。 | 32 | context | [Context](../apis-ability-kit/js-apis-inner-application-baseContext.md) | 是 | Ability的Context。 | 33 | callback | AsyncCallback<[ContinueResultInfo](js-apis-app-ability-continueManager.md#continueresultinfo)> | 是 | 回调函数。当快速拉起结果获取成功,err为undefined,ContinueResultInfo为获取到的快速启动结果。否则为错误对象。 | 34 35**错误码:** 36 37以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[DistributedSchedule错误码](errorcode-DistributedSchedule.md)。 38 39| 错误码ID | 错误信息 | 40| ------- | -------------------------------- | 41| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 42| 16300501 | the system ability work abnormally. | 43 44**示例**: 45 46 ```ts 47import { AbilityConstant, UIAbility, Want, continueManager } from '@kit.AbilityKit'; 48import { hilog } from '@kit.PerformanceAnalysisKit'; 49 50const TAG: string = '[MigrationAbility]'; 51const DOMAIN_NUMBER: number = 0xFF00; 52 53export default class MigrationAbility extends UIAbility { 54 storage : LocalStorage = new LocalStorage(); 55 56 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { 57 hilog.info(DOMAIN_NUMBER, TAG, '%{public}s', 'Ability onCreate'); 58 59 // 1.已配置快速拉起功能,应用立即启动时触发应用生命周期回调 60 if (launchParam.launchReason === AbilityConstant.LaunchReason.PREPARE_CONTINUATION) { 61 // 注册快速拉起结果通知的回调函数 62 try { 63 continueManager.on("prepareContinue", this.context, (err, continueResultInfo) => { 64 if (err.code != 0) { 65 console.error('register failed, cause: ' + JSON.stringify(err)); 66 return; 67 } 68 console.info('register finished, ' + JSON.stringify(continueResultInfo)); 69 }); 70 } catch (e) { 71 console.error('register failed, cause: ' + JSON.stringify(e)); 72 } 73 //若应用迁移数据较大,可在此处添加加载页面(页面中显示loading等) 74 //可处理应用自定义跳转、时序等问题 75 // ... 76 } 77 } 78} 79 ``` 80 81## continueManager.off 82 83off(type: 'prepareContinue', context: Context, callback?: AsyncCallback<ContinueResultInfo>): void 84 85在应用快速拉起时,注销回调函数,不再获取快速拉起结果。使用callback异步回调。 86 87> **说明:** 88> 89> 快速拉起功能支持在用户触发迁移、等待迁移数据返回的过程中,并行拉起应用,减小用户等待时间。在源端应用[module.json5配置文件](../../quick-start/module-configuration-file.md)的continueType标签的取值中添加“_ContinueQuickStart”后缀,可以开启快速拉起功能。 90 91**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 92 93**参数**: 94 95| 参数名 | 类型 | 必填 | 说明 | 96 | -------- |------------------------------------| -------- |--------------------------------------| 97| type | string | 是 | 固定值:prepareContinue。 | 98| context | [Context](../apis-ability-kit/js-apis-inner-application-baseContext.md) | 是 | Ability的Context。 | 99| callback | AsyncCallback<[ContinueResultInfo](js-apis-app-ability-continueManager.md#continueresultinfo)> | 否 | 回调函数。当回调函数注销成功,err为undefined,ContinueResultInfo为获回调函数注销结果。否则为错误对象。 | 100 101**错误码:** 102 103以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[DistributedSchedule错误码](errorcode-DistributedSchedule.md)。 104 105| 错误码ID | 错误信息 | 106|----------| -------------------------------- | 107| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 108| 16300501 | the system ability work abnormally. | 109 110**示例**: 111 112 ```ts 113import { AbilityConstant, UIAbility, Want, continueManager } from '@kit.AbilityKit'; 114import { hilog } from '@kit.PerformanceAnalysisKit'; 115 116const TAG: string = '[MigrationAbility]'; 117const DOMAIN_NUMBER: number = 0xFF00; 118 119export default class MigrationAbility extends UIAbility { 120 storage : LocalStorage = new LocalStorage(); 121 122 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { 123 hilog.info(DOMAIN_NUMBER, TAG, '%{public}s', 'Ability onCreate'); 124 125 // 1.已配置快速拉起功能,应用立即启动时触发应用生命周期回调 126 if (launchParam.launchReason === AbilityConstant.LaunchReason.PREPARE_CONTINUATION) { 127 // 注销快速拉起结果通知的回调函数 128 try { 129 continueManager.off("prepareContinue", this.context, (err, continueResultInfo) => { 130 if (err.code != 0) { 131 console.error('unregister failed, cause: ' + JSON.stringify(err)); 132 return; 133 } 134 console.info('unregister finished, ' + JSON.stringify(continueResultInfo)); 135 }); 136 } catch (e) { 137 console.error('unregister failed, cause: ' + JSON.stringify(e)); 138 } 139 //若应用迁移数据较大,可在此处添加加载页面(页面中显示loading等) 140 //可处理应用自定义跳转、时序等问题 141 // ... 142 } 143 } 144} 145 ``` 146 147## ContinueResultInfo 148 149注册或注销回调函数返回的快速拉起的结果。 150 151**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 152 153| 名称 | 类型 | 只读 | 可选 | 说明 | 154| -------- |-------------------------------------------------------------------------------|----|----|----------| 155| resultState | [ContinueStateCode](js-apis-app-ability-continueManager.md#continuestatecode) | 是 | 否 | 操作结果状态码。 | 156| resultInfo | string | 否 | 是 | 操作结果的说明。 | 157 158## ContinueStateCode 159 160快速拉起的结果状态码的枚举值。 161 162**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission 163 164| 名称 | 值 | 说明 | 165| -------- |----|-------| 166| SUCCESS | 0 | 操作成功。 | 167| SYSTEM_ERROR | 其它 | 操作失败。 | 168 169