1

请不要将此标记为重复。

如果您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前缀就不能工作。

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

4

2 回答 2

3

我认为你不需要附加www

您可以直接使用它。

if(!url.startsWith("http://") && !url.startsWith("https://"))
    url = "http://" + url;
webView.loadUrl(url);
于 2019-06-18T19:49:14.200 回答
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);
}
于 2019-06-18T21:14:25.043 回答