在webview android中的外部浏览器中打开广告

时间:2013-03-11 06:25:30

标签: webview

我使用webview创建了应用程序,我想在webview中加载所有内部链接并在android浏览器中加载外部链接。现在问题是我正在使用html广告,当我点击广告时,我想要打开外部浏览器,但它在webview中打开。只有广告的问题,否则一切正常。那我怎么能这样做呢?

我的代码如下:

`类MyWebViewClient扩展了WebViewClient {

@Override   
public boolean shouldOverrideUrlLoading(WebView view, String url) { if (Uri.parse(url).getHost().equals("www.mysite.com")) {
    view.loadUrl(url);
    return true;
}else{

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
        return true;}}`

2 个答案:

答案 0 :(得分:1)

你的代码应该是:

@Override   
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (Uri.parse(url).getHost().equals("www.mysite.com")) {
        return true;
    }else{
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
        return false;
    }
}

我改变的是:

1。)返回true会加载webview中的URL,不需要view.loadUrl()

2。)广播ACTION_VIEW意图时返回false

答案 1 :(得分:1)

我做了一些修改,它适用于横幅广告。 我做了以下更改:

  • 如果情况发生了变化。
  • 我正在为'if'块返回false,因为文档说:
  

如果提供了WebViewClient,则返回true表示主机应用程序   处理url,而return false表示当前的WebView句柄   网址

@Override   
public boolean shouldOverrideUrlLoading(WebView view, String url) 
{ 
    if (url.contains("www.mysite.com")) 
    {
       view.loadUrl(url);
       return false;
    }else
    {
       Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
       startActivity(intent);
       return true;
    }
}