我正在使用webviewclient打开html页面。 html页面有一个锚标记。 当我点击锚标签时,我的手机拨号器活动应该启动。 当我在外部浏览器(Android默认浏览器)中单击此锚标签时,它正在启动电话拨号器,但因为我正在使用webviewclient(浏览器在我的应用程序中)。我无法启动电话拨号器。
有没有办法用webviewclient实现这个目的?
答案 0 :(得分:1)
您应该覆盖此方法
public boolean shouldOverrideUrlLoading(WebView wv, String url)
{
if(isNumber)
{
//Get the number from the URL
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:12345"));
startActivity(intent);
return true;
}
return false;
}
在WebViewClient中,并返回true表示您想要自己处理,而不是webView。
该文件为here。
答案 1 :(得分:0)
我认为这是最好的方法。所以请试试这个,我知道我来不及回复这个:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if( URLUtil.isNetworkUrl(url) ) {
view.loadUrl(url);
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity( intent );
return true; /*
return false;*/
}