我使用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;}}`
答案 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)
我做了一些修改,它适用于横幅广告。 我做了以下更改:
如果提供了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;
}
}