webview a标签跳转电话拨号页面;提示“暂无支持此类文件的应用”

webview a标签跳转电话拨号页面;提示“暂无支持此类文件的应用”。

HarmonyOS
2024-11-06 10:34:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​拨号需要在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('xxx'+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://123456">拨打电话</a> 
  </div> 
  </body> 
  </html>
分享
微博
QQ
微信
回复
2024-11-06 16:02:51
相关问题
HarmonyOS webview中唤起拨号
29浏览 • 1回复 待解决
WebView支持页面缩放吗?
962浏览 • 1回复 待解决
如何跳转通讯录 、 打电话
1855浏览 • 1回复 待解决
HarmonyOS SVG文件支持<text>标签
42浏览 • 1回复 待解决
HarmonyOS webview h5跳转应用
22浏览 • 1回复 待解决
ArkTs如何跳转当前应用设置页面
2540浏览 • 1回复 待解决
WebView支持获取当前页面url吗?
1059浏览 • 1回复 待解决