如何从webview客户端打开拨号器活动?

时间:2012-03-20 08:37:47

标签: android html

我正在使用webviewclient打开html页面。 html页面有一个锚标记。  当我点击锚标签时,我的手机拨号器活动应该启动。  当我在外部浏览器(Android默认浏览器)中单击此锚标签时,它正在启动电话拨号器,但因为我正在使用webviewclient(浏览器在我的应用程序中)。我无法启动电话拨号器。

有没有办法用webviewclient实现这个目的?

2 个答案:

答案 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;*/
        }