我有一个webView
,它会动态获取网址,因此我无法修改HTML
文档。我的问题是我希望应用程序检测电话号码并提供意图,但HTML文档不包含电话号码的锚标记,因此我无法检测到URL。有没有办法让WebView
自己识别电话号码?
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.startsWith(MAIL_TO)){
final String RE_MAIL = "([\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Za-z]{2,4})";
Pattern p = Pattern.compile(RE_MAIL);
Matcher m = p.matcher(url);
while(m.find()) {
sendEmail( m.group(1) );
}
return true;
}else if(url.startsWith(TEL_PREFIX)){
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(url));
String appHint = "Choose phone application";
context. startActivity(Intent.createChooser(intent, appHint ));
return true;
}
else{
view.loadUrl(url);
}
return false;
}