Как избежать MalformedURLException, когда URL является "data:text/html"?

В моем приложении на основе WebView, когда приложение обращается к http://mobile.nytimes.com/ мой WebViewClient получает 6-7 onPageFinished(), первые 3-4 с WebView.getUrl () возвращают исходный URL ( http://mobile.nytimes.com/) но затем он возвращает "data:text/html" для остальных.

Очевидно, data: text / html является допустимым URI. Также см. https://url.spec.whatwg.org/.

Однако в моем коде мне нужно создать экземпляр URL-адреса из URL WebView следующим образом:

new URL(myWebView.getUrl());

и, к сожалению, это вызывает исключение MalformedURLException, когда WebView.getUrl() возвращает "data:text/html".

Есть ли способ преобразовать строку "data:text/html" в допустимую строку URL, чтобы new URL() не выбросит исключение MalformedURLE?

1 ответ

Как вы написали данные: это действительный URI, а не URL. https://en.wikipedia.org/wiki/Data_URI_scheme

Другие вопросы по тегам