给定以下代码,WebView将不会导航到并显示google.com,而是会弹出一个"选择操作"对话框,其中包含所有已安装的浏览器应用程序可供选择。这是故意的吗?有没有办法解决这种奇怪的行为?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webview = new WebView(this);
setContentView(webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
webview.loadUrl("http://www.google.com/");
}
请参阅单击URL打开默认浏览器
从本质上讲,您必须提供自己的WebClient并覆盖shouldOverrideUrlLoading
private class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}