中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
保证迁移连续性,由于迁移加载时,目标端拉起的应用可能执行过自己的迁移状态设置命令(如:冷启动时目标端在onCreate中设置了INACTIVE;热启动时对端已打开了不可迁移的页面,迁移状态为INACTIVE等情况)。为了保证迁移过后的应用依然具有可以迁移回源端的能力,应在onCreate和onNewWant的迁移调用判断中,将迁移状态设置为ACTIVE。
// EntryAbility.ets import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; export default class EntryAbility extends UIAbility { // ... onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { // ... // 迁移冷启动时,设置状态为可迁移 this.context.setMissionContinueState(AbilityConstant.ContinueState.ACTIVE, (result) => { console.info(`setMissionContinueState: ${JSON.stringify(result)}`); }); } onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { // ... // 迁移热启动时,设置状态为可迁移 if (launchParam.launchReason == AbilityConstant.LaunchReason.CONTINUATION) { this.context.setMissionContinueState(AbilityConstant.ContinueState.ACTIVE, (result) => { console.info('setMissionContinueState ACTIVE result: ', JSON.stringify(result)); }); } } // ... }
本文主要引用HarmonyOS官方文档
微信扫码分享