请不要将其标记为重复。
如果使用诸如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
前缀将无法正常工作。
如何处理此类链接? (因为现代浏览器支持)
答案 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);
}