Загрузить URL в WebView без префикса http://www - PullRequest
0 голосов
/ 18 июня 2019

Пожалуйста, не отмечайте это как дубликат.

Если вы вызовете 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 голосов
/ 19 июня 2019

если вы натолкнетесь на 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);
}
0 голосов
/ 18 июня 2019

Я не думаю, что вам нужно добавлять www

Вы можете напрямую использовать это вместо.

if(!url.startsWith("http://") && !url.startsWith("https://"))
    url = "http://" + url;
webView.loadUrl(url);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...