【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第3题) 原创

鸿蒙张荣超
发布于 2021-8-24 22:07
浏览
3收藏

【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第3题)-鸿蒙开发者社区

    在多设备协同的鸿蒙分布式应用场景中,经常需要将设备A的Page迁移到设备B,例如:在设备A编辑电子邮件时发现设备A快没电了,如果此时不方便给设备A充电,那么就可以将电子邮件的编辑页面迁移到设备B,以便在设备B继续编辑。

    跨设备迁移Page的整个过程,可以用一张时序图来表示,大家来看这张图:

【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第3题)-鸿蒙开发者社区

    跨设备迁移Page需要调用方法continueAbility(),调用此方法之后,系统首先回调IAbilityContinuation中的回调方法onStartContinuation(),开发者可以在此方法中决策是否开始迁移当前Page,例如:弹出一个对话框让用户确认是否开始迁移。

     如果方法onStartContinuation()返回true,那么系统回调IAbilityContinuation中的回调方法onSaveData(),开发者可以在此回调方法中保存当前Page的状态数据,以便当前Page迁移到远程设备之后对其迁移前的状态数据进行恢复。

    保存当前Page的状态数据之后,系统在远程设备上启动同一个Page,然后调用回调方法onRestoreData(),开发者可以在此方法中恢复Page的状态数据。

    系统调用回调方法onRestoreData()之后,会继续调用回调方法onStart(),从而开始Page的生命周期。

    迁移完成后,系统在当前设备上回调方法onCompleteContinuation(),开发者可以在此回调方法中执行结束迁移的动作,例如:结束迁移后销毁当前Page。

    因此,这道题的答案是这样的:

【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第3题)-鸿蒙开发者社区

   

    向大家推荐由我的教学团队开发的视频课程《鸿蒙应用开发HCIA认证超细致精讲》:

https://edu.51cto.com/course/28571.html

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2021-8-24 22:07:26修改
9
收藏 3
回复
举报
回复
    相关推荐