我用webview创建了一个Android应用程序。
在网页中我有亚马逊横幅。
如果用户点击该横幅,我希望它在原生Android浏览器中打开,而不是在webview中打开。
我在搜索和尝试后尝试了几种方法但都没有成功。 单击横幅时 - 应用程序仍以webview模式显示亚马逊网站。
任何人都可以帮我解决这个问题吗?
非常感谢您的帮助......
以下是我使用的代码:
final WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
if(url.contains("amazon-adsystem.com")) {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
}
view.loadUrl(url);
loadAd();
return true;
}
});
webView.loadUrl("http://starter_url");
loadAd();
答案 0 :(得分:0)
函数 shouldOverrideUrlLoading()应该:
如果主机应用程序想要保留当前值,则返回True WebView并处理url本身,否则返回false。
因此,您必须将代码更改为:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
if(url.contains("amazon-adsystem.com")) {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
return true;
}
return false;
}
});