阅读(108) (10)

鸿蒙OS IAbilityContinuation

2020-09-21 14:50:00 更新

启用在分布式系统中实施迁移的 Ability

您可以使用Ability提供的迁移功能在分布式系统中的本地设备和远程设备之间迁移数据。实现此接口的能力或能力切片具有迁移能力。您可以通过在本地设备上调用 Ability#continueAbility()AbilitySlice#continueAbility()来发起迁移请求,然后实施此接口中提供的方法来保存或还原应用程序数据。保存的数据由分布式数据管理模块管理。启动功能后,远程设备可以获取并恢复已保存的数据。通过这种方式,本地设备上的功能将迁移到远程设备上。

方法总结

修饰符和类型 方法 描述
void onCompleteContinuation(int结果) 本地能力迁移完成后回叫。
默认作废 onRemoteTerminated() 在针对从本地设备到远程设备的能力执行了可逆迁移之后,当远程设备上的运行能力被破坏时调用,以通知本地设备。
布尔值 onRestoreData(IntentParams restoreData) 在远程设备上创建功能后,立即恢复在该功能上的迁移过程中保存的用户数据。
布尔值 onSaveData(IntentParams saveData) 保存在运行时生成的本地功能的用户数据(carried in the IntentParams  object)。
布尔值 onStartContinuation() 询问用户是否开始迁移。

方法细节

在开始继续

boolean onStartContinuation()

询问用户是否开始迁移。

当本地能力发起迁移请求时,将调用此方法。

如果该能力未实现此方法,则无法迁移此能力,并返回 false。如果 AbilitySlice 没有实现此方法,则不会影响其宿主功能是否可以迁移,并且默认情况下返回 true。

返回值:

如果用户允许迁移,则返回 true;否则,返回 false。

关于保存数据

boolean onSaveData(IntentParams saveData)

保存在运行时生成的本地功能的用户数据(carried in the IntentParams object)。触发迁移并准备好本地功能后,当分布式计划程序服务从本地功能请求数据时,将调用此方法。

参数:

参数名称 参数说明
保存数据 表示要保存的用户数据。

返回值:

如果成功保存数据,则返回 true;否则,返回 true。否则返回 false。

关于还原数据

布尔值 onRestoreData(IntentParams restoreData)

在远程设备上创建功能后,立即恢复在该功能上的迁移过程中保存的用户数据。仅在还原用户数据之后,才开始对该功能进行生命周期调度。

参数:

参数名称 参数说明
restoreData 指示要还原的用户数据。

返回值:

如果数据已成功还原,则返回 true;否则,返回 false。否则返回 false。

完全延续

onCompleteContinuation(int 结果)无效

本地能力迁移完成后回叫。

您可以在迁移完成后定义处理逻辑。例如,您可以显示提示,通知用户迁移成功,然后退出本地功能。

参数:

参数名称 参数说明
结果 指示迁移结果代码,由分布式系统定义。

在远程终端上

默认void onRemoteTerminated()

在针对从本地设备到远程设备的能力执行了可逆迁移之后,当远程设备上的运行能力被破坏时调用,以通知本地设备。通过调用Ability#continueAbilityReversible()Ability#continueAbilityReversible(String)触发可逆迁移 。