web app开发4000285927在实现拨打电话号码时出现:tel:4000285927处的网页不

时间:2021-08-10 09:12:22
asp.net+安卓

1 个解决方案

#1


给WebView设置setWebClient,监听shouldOverrideUrlLoading方法,对url进行拦截。如果url是以"tel:”开头则在本地进行拨号处理。

public boolean shouldOverrideUrlLoading(WebView view, String url) {
  if (getContext() == null) {
    return false;
  }
  //调用拨号程序
  if (url.startsWith("mailto:") || url.startsWith("geo:") || url.startsWith("tel:") || url.startsWith("smsto:")) {
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
       getContext().startActivity(intent);
      return true;
    } 
    return false;
 }

#1


给WebView设置setWebClient,监听shouldOverrideUrlLoading方法,对url进行拦截。如果url是以"tel:”开头则在本地进行拨号处理。

public boolean shouldOverrideUrlLoading(WebView view, String url) {
  if (getContext() == null) {
    return false;
  }
  //调用拨号程序
  if (url.startsWith("mailto:") || url.startsWith("geo:") || url.startsWith("tel:") || url.startsWith("smsto:")) {
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
       getContext().startActivity(intent);
      return true;
    } 
    return false;
 }