WebView显示"选择操作"对话框,不进行导航



给定以下代码,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;
    }
}

最新更新