HarmonyOS 鸿蒙Next启动其他应用的UIAbility并获取返回结果,报错
HarmonyOS 鸿蒙Next启动其他应用的UIAbility并获取返回结果,报错
Button(‘关闭自己并返回结果’)
.onClick(() => {
let context = getContext(this) as common.UIAbilityContext
let abilityResult: common.AbilityResult = {
resultCode: this.APP_RESULT_CODE,
want: {
bundleName: ‘com.example.uiabilitydemo’,
abilityName: ‘EntryAbility’,
moduleName: ‘entry’,
parameters: {
rsinfo: ‘跨应用返回的结果’
}
}
}
context.terminateSelfWithResult(abilityResult, (err: BusinessError) => {
if (err) {
// 处理业务逻辑错误
console.error(返回值出错了!
);
console.error(JSON.stringify(err));
return;
}
})
})
这个是怎么回事,用的是模拟器
更多关于HarmonyOS 鸿蒙Next启动其他应用的UIAbility并获取返回结果,报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
返回code:0,应该是成功了,你这边写法有点问题,可以参考一下下面的demo
hljs
this.context.terminateSelfWithResult(abilityResult, (err: BusinessError) => {
if (err.code) {
// 处理业务逻辑错误
console.error(terminateSelfWithResult failed, code is ${err.code}, message is ${err.message}
);
return;
}
// 执行正常业务
console.info(‘terminateSelfWithResult succeed’);
});
这样,err.code是0的时候,就不会走到第一个if判断里面
更多关于HarmonyOS 鸿蒙Next启动其他应用的UIAbility并获取返回结果,报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
跨应用返回的结果' 是可以返回了
在HarmonyOS(鸿蒙)系统中,启动其他应用的UIAbility并获取返回结果通常涉及到Ability间的通信。如果遇到报错,可能是由于以下几个常见原因:
-
权限问题:确保你的应用具有启动目标UIAbility所需的权限。检查
config.json
文件中是否已声明相关权限。 -
Intent配置错误:检查启动UIAbility时使用的Intent是否正确配置,包括Action、ElementName(包括包名和类名)等关键信息。
-
目标Ability不存在:确认目标UIAbility的包名和类名是否准确无误,且目标应用已正确安装。
-
返回结果处理不当:确保在启动Ability时正确设置了请求码,并在onAbilityResult中正确处理返回结果。注意,鸿蒙系统中的onAbilityResult回调与Android中的onActivityResult类似,但具体实现可能有差异。
-
版本兼容性问题:检查你的应用和目标应用是否都兼容当前运行的鸿蒙系统版本。
针对这些可能的原因,逐一排查并修正。如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。客服将为你提供更专业的帮助。