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"
})
  • 1.
  • 2.
  • 3.

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

router.back({
  url: "pages/webPage",
  params: {
    originalValue: result[0].originalValue
  }
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

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 + "\")")
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

4、H5页面定义方法。

function getResult(resultStr){
  document.getElementById("demo").innerHTML = resultStr;
}
  • 1.
  • 2.
  • 3.
分享
微博
QQ
微信
回复
2025-01-10 11:09:30
相关问题
HarmonyOS 关于customScan问题
1103浏览 • 1回复 待解决
HarmonyOS 关于flutter开发问题
1006浏览 • 1回复 待解决
关于鸿蒙OS蓝牙开发问题
5748浏览 • 1回复 待解决
关于 JS UI 开发应用问题
6643浏览 • 1回复 待解决
关于Java UI拖拽式开发问题
6869浏览 • 1回复 待解决
HarmonyOS customScan.init报错1000500001
612浏览 • 1回复 待解决
HarmonyOS customScan 如何扫描本地图片
691浏览 • 1回复 待解决
HarmonyOS 关于ColorFilter问题
1817浏览 • 1回复 待解决
HarmonyOS 关于taskpool问题
928浏览 • 1回复 待解决
HarmonyOS 关于URL问题
1062浏览 • 1回复 待解决
HarmonyOS customScan.start扫码报错1000500001
899浏览 • 1回复 待解决
HarmonyOS Navigation转场动画一些思路
723浏览 • 1回复 待解决
HarmonyOS 关于C API问题
1171浏览 • 1回复 待解决
HarmonyOS 关于Navigation组件问题
1464浏览 • 1回复 待解决
HarmonyOS 关于actionsheet样式问题
885浏览 • 1回复 待解决
HarmonyOS 关于Web调试问题
1405浏览 • 1回复 待解决
HarmonyOS 关于video组件问题
892浏览 • 1回复 待解决
关于HarmonyOS app加固问题
1237浏览 • 1回复 待解决
HarmonyOS 关于moveWindowTo单位问题
633浏览 • 1回复 待解决
HarmonyOS 关于request下载问题
940浏览 • 1回复 待解决