HarmonyOS 关于customScan开发思路的问题

应用是H5+原生混合开发,两者之间通过dsbridge进行通信,有个场景是,H5想要通过dsbridge调用原生扫码,原生扫码使用的是customScan,但是H5只会掉一次,customScan又是在另一个组件里,如何才能把customScan扫码后的值通过回调的方式传给H5?

HarmonyOS
2025-01-10 09:38:22
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

1、H5调原生页面的方法(原生Web组件的页面),此方法实现跳转自定义扫码页面。

router.pushUrl({
  url: "pages/customScanPage"
})

2、自定义扫码页面实现扫码,获取扫码结果后,返回Web组件的页面,这里需要传参。

router.back({
  url: "pages/webPage",
  params: {
    originalValue: result[0].originalValue
  }
})

3、Web组件的页面在onPageShow生命周期获取参数,调H5页面方法传递扫码结果。

onPageShow() {
  if (router.getParams()) {
    let routerParams = router.getParams() as Record<string, string>
    let originalValue: string = routerParams.originalValue;
    this.controller.runJavaScript("getResult(\"" + originalValue + "\")")
  }
}

4、H5页面定义方法。

function getResult(resultStr){
  document.getElementById("demo").innerHTML = resultStr;
}
分享
微博
QQ
微信
回复
2025-01-10 11:09:30
相关问题
HarmonyOS 关于customScan问题
1379浏览 • 1回复 待解决
HarmonyOS 关于flutter开发问题
1312浏览 • 1回复 待解决
关于鸿蒙OS蓝牙开发问题
6104浏览 • 1回复 待解决
关于 JS UI 开发应用问题
6943浏览 • 1回复 待解决
关于Java UI拖拽式开发问题
7216浏览 • 1回复 待解决
HarmonyOS customScan.init报错1000500001
888浏览 • 1回复 待解决
HarmonyOS customScan 如何扫描本地图片
975浏览 • 1回复 待解决
HarmonyOS customScan.start扫码报错1000500001
1708浏览 • 1回复 待解决
HarmonyOS 关于taskpool问题
1253浏览 • 1回复 待解决
HarmonyOS 关于ColorFilter问题
2688浏览 • 1回复 待解决
HarmonyOS 关于URL问题
1323浏览 • 1回复 待解决
HarmonyOS 关于权限组问题
1145浏览 • 1回复 待解决
HarmonyOS 关于PAG库问题
1378浏览 • 1回复 待解决
HarmonyOS 关于FIDO问题请教
1301浏览 • 1回复 待解决
HarmonyOS 关于获取context问题
1778浏览 • 1回复 待解决
HarmonyOS 关于request下载问题
1188浏览 • 1回复 待解决
HarmonyOS 关于moveWindowTo单位问题
911浏览 • 1回复 待解决
HarmonyOS 关于vp问题咨询
1216浏览 • 1回复 待解决
HarmonyOS关于多线程问题
1469浏览 • 1回复 待解决
HarmonyOS关于API使用问题
1661浏览 • 1回复 待解决
HarmonyOS 关于使用@BuilderParam问题
1736浏览 • 1回复 待解决