JavascriptHandler handler = new JavascriptHandler(this, wvLoadHtml);
wvLoadHtml = new WebViewFactory(WebViewActivity.this, wvLoadHtml)
.url(urlStr).openJS().setInterceptor(urlInterceptor)
.openJS()
.build(WebSettings.LOAD_CACHE_ELSE_NETWORK);
wvLoadHtml.addJavascriptInterface(handler, WebViewFactory.JAVASCRIPT_HANDLER);
private UrlInterceptor urlInterceptor = new UrlInterceptor(this) {
@Override
public boolean check(Uri uri) throws MalformedURLException {
return super.check(uri);
}
@Override
public boolean check(String url) throws MalformedURLException {
// 调用拨号程序
if (url.startsWith("mailto:") || url.startsWith("geo:") || url.startsWith("tel:") || url.startsWith("smsto:")) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
return false;
}
@Override
protected boolean parse(Uri parseUrl) throws MalformedURLException {
return super.parse(parseUrl);
}
@Override
protected boolean run() {
return super.run();
}
};