HarmonyOS 鸿蒙Next中API 17异步onContinue

HarmonyOS 鸿蒙Next中API 17异步onContinue 应用接续场景,源端的onContinue异步方法如果有耗时操作时,onContinue未执行完,目的端的onWindowStageRestore就已经执行了。

5 回复

小伙伴你好,官方 API文档 已经明确说明过只有 API 18 后才支持异步函数调用了。如果有这个需求的话建议升级一下项目的API cke_327.png

更多关于HarmonyOS 鸿蒙Next中API 17异步onContinue的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


将onContinue中数据分为两类,一类不需要耗时的数据用want进行传输,另一类耗时的数据用分布式对象进行传输。分布式对象使用指导如下: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/app-continuation-guide#section14877369451

在HarmonyOS NEXT API 17中,onContinueAbility生命周期回调方法,用于处理应用从后台恢复到前台时的场景。该方法在Ability被重新激活时被调用,开发者可以在此处恢复应用状态或执行必要的初始化操作。

在HarmonyOS Next API 17中,onContinueonWindowStageRestore的执行时序是异步设计,目的是为了提升应用接续的启动性能和用户体验。当onContinue中存在耗时操作时,系统不会等待其完成,而是会并行启动目的端设备上的onWindowStageRestore,以尽快恢复用户界面。

这是预期行为,而非问题。开发者需要将onContinue方法设计为异步非阻塞操作。如果需要在目的端恢复时使用源端传递的数据,应确保数据在onContinue中通过wantParams完成序列化并存入Want对象,系统会自动将Want传递至目的端。目的端在onWindowStageRestore中通过wantParams获取数据,并自行处理数据可能尚未完全准备好的情况(例如,通过监听或回调机制)。

因此,应用架构应适应这种异步模型,确保两端状态协调和数据一致性。

回到顶部