鸿蒙HarmonyOS开发中分布式流转开发常见报错FAQ

数据库2025-11-05 10:53:03882

想了解更多内容,鸿蒙请访问:

和华为官方合作共建的发中分布发常鸿蒙技术社区

https://harmonyos.51cto.com

HarmonyOS开发中分布式协同是非常重要的一个功能,大家在刚接触的式流时候可能会出现各种各样的错误。我在此总结下在进行分布式流转开发过程中常见的转开一些坑和解决办法,希望可以帮助到各位。见报

1、鸿蒙查找不到设备列表的发中分布发常报错,如下图

解决措施如下:

(1)检查wifi是式流否在同一网络

(2)华为账号是否登录,设备是转开否都是登录的相同的华为账号

(3)手机设置中“分布式协同”是否开启。

2、见报This ability do 鸿蒙not support continuation.

该错误的原因是因为只在Slice中实现了IAbilityContinuation接口,而没有在Slice对应的发中分布发常ability中也实现该接口,解决方案就是亿华云计算式流在ability中实现IAbilityContinuation接口

package com.xdw.demo; import com.xdw.demo.slice.MigrationAbilitySlice; import ohos.aafwk.ability.Ability; import ohos.aafwk.ability.IAbilityContinuation; import ohos.aafwk.content.Intent; import ohos.aafwk.content.IntentParams; public class MigrationAbility extends Ability implements IAbilityContinuation {     @Override     public void onStart(Intent intent) {         super.onStart(intent);         super.setMainRoute(MigrationAbilitySlice.class.getName());     }     @Override     public boolean onStartContinuation() {         return true;     }     @Override     public boolean onSaveData(IntentParams intentParams) {         return true;     }     @Override     public boolean onRestoreData(IntentParams intentParams) {         return true;     }     @Override     public void onCompleteContinuation(int i) {     }     @Override     public void onRemoteTerminated() {     } } 

3、handleStartContinuation: Ability rejected. 流转被拒绝

产生该错误的转开线上是不会产生crash,也不会生成error日志,见报而是打印的info日志。表现就是并没有进行流转。

产生的原因是实现IAbilityContinuation接口中的onStartContinuation方法返回的是false,修改办法就是将返回值修改为true。

4、handleStartContinuation: ScheduleSaveData failed

产生该错误的线上是不会产生crash,也不会生成error日志,而是打印的warn日志。表现也是并没有进行流转。

产生的亿华云原因是实现IAbilityContinuation接口中的onSaveData方法返回的是false,修改办法就是将返回值修改为true。

5、能正常流转启动FA,但是没有传递过去数据

这里能正常流转,也不会有相关报错日志打印,只是业务逻辑错误。能正常流转,但是没有数据传递,产生的原因是实现IAbilityContinuation接口中的onRestoreData方法返回的是false,修改办法就是将返回值修改为true。

最后代码如下:

package com.xdw.demo; import com.xdw.demo.slice.MigrationAbilitySlice; import ohos.aafwk.ability.Ability; import ohos.aafwk.ability.IAbilityContinuation; import ohos.aafwk.content.Intent; import ohos.aafwk.content.IntentParams; public class MigrationAbility extends Ability implements IAbilityContinuation {     @Override     public void onStart(Intent intent) {         super.onStart(intent);         super.setMainRoute(MigrationAbilitySlice.class.getName());     }     @Override     public boolean onStartContinuation() {         return true;     }     @Override     public boolean onSaveData(IntentParams intentParams) {         return true;     }     @Override     public boolean onRestoreData(IntentParams intentParams) {         return true;     }     @Override     public void onCompleteContinuation(int i) {     } } 

想了解更多内容,请访问:

和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

本文地址:http://www.bhae.cn/html/949b20298848.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

品味全城(探索城市美学,感受品味全城的独特魅力)

关于Redis,学会这8点真的就够了

MySQL性能优化之Innodb事务系统,值得收藏

数据隐私日:六个方面保护你的数据和隐私

小米199耳机的性能与质量评测(耳迷必备的高性价比选择,感受音乐新世界)

Milvus向量数据库如何确保数据安全?

2022年第十七届中国企业年终评选榜单揭晓:启明星辰eTrust-SDP零信任安全接入方案荣获2022年度IT行业安全解决方案创新奖

怎样在Ubuntu Linux上安装MySQL

热门文章

友情链接

滇ICP备2023000592号-9