HarmonyOS 鸿蒙Next H5调用拨打电话的方法,导致ArkWeb白屏

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next H5调用拨打电话的方法,导致ArkWeb白屏

我司的H5页面,页面上有展示号码的按钮,点击按钮,安卓和iOS都可以弹出原生系统的拨打电话的界面,但是用Arkweb去加载这个H5页面,点击电话号码按钮的时候,不能拉起鸿蒙系统拨打电话的界面,而且还会导致ArkWeb出现白屏的现象
H5侧调用的方式是:window.location.href = tel:XXXXX
请问,这个兼容性的问题,怎么解决,必须需要鸿蒙原生编码实现,唤起拨打电话的界面么?Arkweb能像iOS和安卓一样提供这个功能么?


更多关于HarmonyOS 鸿蒙Next H5调用拨打电话的方法,导致ArkWeb白屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

web拨打电话功能参考: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-redirection-and-browsing-history-mgmt-V5#跨应用跳转

// WebComponent .ets

import { webview } from '@kit.ArkWeb';

import { call } from '@kit.TelephonyKit';

@Entry

@Component

struct WebComponent {

  webviewController: webview.WebviewController = new webview.WebviewController();

  build() {

    Column() {

      Web({ src: $rawfile('call.html'), controller: this.webviewController })

        .onLoadIntercept((event) => {

          if (event) {

            let url: string = event.data.getRequestUrl();

            // 判断链接是否为拨号链接

            if (url.indexOf('tel://') === 0) {

              // 跳转拨号界面

              call.makeCall(url.substring(6), (err) => {

                if (!err) {

                  console.info('make call succeeded.');

                } else {

                  console.info('make call fail, err is:' + JSON.stringify(err));

                }

              });

              return true;

            }

          }

          return false;

        })

    }

  }

}

//call.html 文件

<!DOCTYPE html>

<html>

<body>

  <div>

    <a href="tel://xxx xxxx xxx">拨打电话</a>

  </div>

</body>

</html>

更多关于HarmonyOS 鸿蒙Next H5调用拨打电话的方法,导致ArkWeb白屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以走另外的方案,h5与原生交互,原生去调用打电话。

在HarmonyOS鸿蒙Next中,H5调用拨打电话的功能通常通过调用系统的拨打电话接口实现。若在使用ArkWeb进行H5页面开发时,调用拨打电话功能导致白屏,可能是因为权限设置不当或调用方式有误。

确保你的应用已在manifest.json中声明了拨打电话的权限(如ohos.permission.CALL_PHONE),并且用户已授予该权限。同时,检查H5页面中拨打电话的调用方式是否正确,通常使用类似<a href="tel:+电话号码">拨打电话</a>的HTML标签或JavaScript的window.location.href='tel:+电话号码';来实现。

如果问题依旧存在,可能是ArkWeb容器与H5页面交互时存在兼容性问题。检查ArkWeb的版本是否为最新,以及是否有相关的bug修复。此外,确认拨打电话功能的实现是否遵循了HarmonyOS的最新开发规范。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在此页面上,你可以找到专业的技术支持团队,他们将帮助你解决HarmonyOS鸿蒙Next H5调用拨打电话功能时遇到的具体问题。

回到顶部