HarmonyOS 无法跳转电话拨号页面

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

1.应用拉起拨号界面

需要申请ohos.permission.WRITE_CONTACTS权限,配置方式请参见配置文件权限声明。

说明:该权限为system_basic APL级别的权限。

调用call.hasVoiceCapability()接口确认当前设备是否支持拨号。如果设备支持呼叫能力,则继续跳转到拨号界面,并显示拨号的号码。

调用call.dialCall()接口,拨打电话。

import call from '@ohos.telephony.call';

function startCallDialog(): void {
  let isSupport = call.hasVoiceCapability();
  if (!isSupport) {
    console.error('Not support voice capability.');
    return;
  }

  call.makeCall('16888888888', (err) => {
    if (err) {
      console.error(`Failed to make call. Code is ${err.code}, Message is ${err.message}`);
      return;
    }
    console.info('Succeeded in making call.');
  })
}

2.webview a标签跳转电话拨号页面

拨号需要在web组件外部onLoadIntercept进行处理

请参考以下代码:

// xxx.ets
import web_webview from '@ohos.web.webview';
import call from '@ohos.telephony.call';
import { BusinessError } from '@ohos.base';

@Entry
@Component
struct WebComponent {
  webviewController: web_webview.WebviewController = new web_webview.WebviewController();

  build() {
    Column() {
      Web({ src: $rawfile('call.html'), controller: this.webviewController})
        .onLoadIntercept((event) => {
          if (event) {
            let url: string = event.data.getRequestUrl();
            console.log('success'+px2vp(16000))
            // 判断链接是否为拨号链接
            if (url.indexOf('tel://') === 0) {
              call.makeCall(url.substring(6),(err: BusinessError) => {
                if (!err) {
                  console.log("make call success.");
                } else {
                  console.log("make call fail, err is:" + JSON.stringify(err));
                }
              });
              return true;
            }
          }
          return false;
        })
    }
  }
}

<!-- call.html -->

<!DOCTYPE html>
<html>
<body>
<div>
    <a href="tel://10086">拨打电话</a>
</div>
</body>
</html>
分享
微博
QQ
微信
回复
2天前
相关问题
如何跳转通讯录 、 打电话
2030浏览 • 1回复 待解决
HarmonyOS hap跳hsp页面无法跳转
262浏览 • 1回复 待解决
HarmonyOS Har静态包内部页面无法跳转
717浏览 • 1回复 待解决
HarmonyOS webview中唤起拨号
200浏览 • 1回复 待解决
HarmonyOS 登录页面跳转
287浏览 • 1回复 待解决
HarmonyOS 跨模块无法跳转
154浏览 • 1回复 待解决
HarmonyOS 跳转页面问题
542浏览 • 1回复 待解决