在WebView中加载没有http:// www前缀的URL

时间:2019-06-18 19:41:18

标签: java android url

请不要将其标记为重复。

如果使用诸如WebView.loadUrl之类的参数调用google.com,它将失败。因此,正如其他类似问题所建议的那样,您可以执行以下操作:

if(!url.startsWith("www."))
    url = "www." + url;
if(!url.startsWith("http://") && !url.startsWith("https://"))
    url = "http://" + url;
webView.loadUrl(url);

但是,如果出现play.google.com,它将尝试加载http://www.play.google.com并失败。

如果您不添加www,某些网站仍然会失败,例如,eurobeat-prime.com如果没有www前缀将无法正常工作。

如何处理此类链接? (因为现代浏览器支持)

2 个答案:

答案 0 :(得分:0)

我认为您不需要添加www

您可以直接使用它。

if(!url.startsWith("http://") && !url.startsWith("https://"))
    url = "http://" + url;
webView.loadUrl(url);

答案 1 :(得分:0)

如果您遇到无法直接在webView中打开的URL,通常可以在外部浏览器窗口中成功打开它:

protected void handleExternalDeviceActivity(String url) {
    //pass this special URL to an external activity (outside of the app)
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(intent);
}