android webview如何处理自动提取手机号

终于知道了,你说的这个问题,是android底层设计不识别特殊的电话号码,比如10086/非1开头的电话号码/带区号的固定电话,它只认为以1开头的11位的手机号码为电话号码,才会添加"tel:"的连接前缀,而且他会自动把第一位的“1给切掉了,所以需要补齐,
具体更改如下:
2.2的代码需要在MessageView.java文件中的CustomWebViewClient这个类的shouldOverrideUrlLoading()这个方法中,添加
if(url != null&&"tel".equals(url.substring(0,3))){
                String phoneNumber = url.substring(4, 14);            
                url = "tel:" + "1" + phoneNumber;
        }
”4.0的代码需要在ActivityHelper.java文件中openUrlInMessage()方法中添加上面代码才正确,
如果要识别特殊电话号码,需要更改external里边的代码,我没去做了。

 

mWebView.setWebViewClient(new MyWebviewClient());

class MyWebviewClient extends WebViewClient{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
}
shouldOverrideUrlLoading 这个方法就是点击网页上的超链接的回调函数     按照我这样做就没问题

你可能感兴趣的:(android webview如何处理自动提取手机号)