webview中能只通过location.href直接拉起电话吗

webview中能只通过location.href直接拉起电话吗

HarmonyOS
2024-07-23 11:13:38
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
友人FA

不能,需要在应用侧引入电话子系统模块,安卓实现的原理也是一样的,需要在ArkTS引入对应模块后拉起打电话的功能。

参考代码:

// xxx.ets 
import web_webview from '@ohos.web.webview'; 
import call from '@ohos.telephony.call'; 
 
@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(); 
            // 判断链接是否为拨号链接 
            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; 
        }) 
    } 
  } 
}
分享
微博
QQ
微信
回复
2024-07-23 18:36:58
相关问题
HarmonyOS webview拉起应用
579浏览 • 1回复 待解决
Web直接加载h5代码
3066浏览 • 2回复 待解决
webview组件建立本地服务器
2344浏览 • 1回复 待解决
javaUI webview通过布局创建实例失败
5615浏览 • 1回复 待解决
Java UIWebView支持深色模式
2652浏览 • 1回复 待解决
WebView支持设置WebView圆角
925浏览 • 1回复 待解决
相机类开发支持 Java
2799浏览 • 1回复 待解决
电话拦截规则有知道的?
3017浏览 • 1回复 待解决
Router的Param传基础类型
283浏览 • 1回复 待解决