У меня есть приложение, открывающее удаленный URL в WebView. Проблема в том, что Android 9 не показывает ничего, в то время как Android 7 работает должным образом.
Инициализация выглядит так:
imageGalleryWebView.clearCache(false);
imageGalleryWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
imageGalleryWebView.setBackgroundColor(0x00000000);
imageGalleryWebView.getSettings().setJavaScriptEnabled(true);
imageGalleryWebView.getSettings().setUseWideViewPort(true);
imageGalleryWebView.setInitialScale(1);
imageGalleryWebView.getSettings().setLoadWithOverviewMode(true);
imageGalleryWebView.getSettings().setDomStorageEnabled(true);
imageGalleryWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
imageGalleryWebView.loadUrl(getUrl());
Загруженная страница находится вне моего контроля. Страница содержит несколько javascripts (некоторые загружены извне, поэтому я даже не могу смотреть на них). Новый Android просто показывает пустой экран.
На logcat я получаю следующие строки:
I/chromium: [INFO:CONSOLE(1)] "Error parsing a meta element's content: ';' is not a valid key-value pair separator. Please use ',' instead.", source: https://my.website/HTMLTemplate.aspx?TemplateID=1
В приведенной выше строке, вероятно, упоминается неправильная точка с запятой в HTML:
<meta content="user-scalable=0;" name="viewport" />
Я не знаюне уверен, что это должно помешать загрузке и представлению всей страницы.
Другая строка в logcat:
I/chromium: [INFO:CONSOLE(24)] "Mixed Content: The page at 'https://my.website/HTMLTemplate.aspx?TemplateID=1' was loaded over HTTPS, but requested an insecure image 'http://some.other.site/thumb'. This content should also be served over HTTPS.", source: https://my.website/HTMLTemplate.aspx?TemplateID=1 (24)
Это похоже на предупреждение, но у меня в манифесте android: usedCleartextTraffic = "true ", поэтому это тоже не должно мешать.
Кто-нибудь знает о некоторых изменениях в последних версиях WebView для Android, которые я могу исправить? (Я не могу изменить содержание URL-адреса. Atm)
Спасибо