2015-05-07 3 views
1

Я пишу приложение для нашего клиента, в котором я должен показать WebView пользователю, который является веб-сайтом, предоставленным клиентом, в который я вставляю JS, чтобы скрыть определенный рабочий стол элементы.Android WebView неправильно отображен на LG G2

Сначала я столкнулся с проблемой на KitKat, пытаясь включить фотографии, поскольку изменение в WebChromeClient в KitKat не было обновлено, чтобы правильно обрабатывать компонент. Я смог решить эту проблему, внедряя здесь AdvnacedWebView и жестко кодируя поля ввода для моего проекта: https://github.com/delight-im/Android-AdvancedWebView

Проблема, с которой я столкнулся, - это веб-страница, отображаемая неправильно при просмотре на моем Sprint LG G2, но на всех других устройствах, на которых я тестировал (AT & T LG G3, Nexus 7 2013, Nexus 7 2012, Nexus 9, HTC One V, Samsung Galaxy S3 Mini)

Из моего предположения, основанного на моем LogCat, появляется как если бы WebView пытался вызвать методы, которые не включены в версию LG Kit для мобильных телефонов LG G2. Похоже, он пытается вызвать к Android L.

LogCat: http://pastebin.com/h6mGdNsh

Так что мой вопрос: есть ли причина, веб-страница визуализируется неправильно на G2 LG, и как бы я идти о фиксации это?

Благодаря Адам

ответ

0

Я понял, что WebView визуализировал веб-страницу в качестве настольной версии, а не как мобильную версию. Как только я установил User Agent из WebView в известный хороший User Agent, он работал, как ожидалось.

webView.getSettings(). SetUserAgentString («Mozilla/5.0 (Linux; Android 4.4.2)» AppleWebKit/537.36 (KHTML, например, Gecko) Версия/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 ");

0

AdvancedWebView делает build -зависимыми проверить так:

if (Build.VERSION.SDK_INT >= 21) { 
    webSettings.setMixedContentMode(allowed ? WebSettings.MIXED_CONTENT_ALWAYS_ALLOW : WebSettings.MIXED_CONTENT_NEVER_ALLOW); 
} 

Убедитесь, что целевой API устанавливается соответствующим образом для этого - это может быть, что все остальные устройства также пытаясь использовать 5.0+ API, но их поведение в обратном случае отличается.

+0

My minSdkVersion - 14, а my targetSdkVersion - 22. Ответ LG G2 на API 19, хотя, когда я запускаю ту же версию приложения на моем API-интерфейсе G3 19, все в порядке. Я также запускаю его на устройстве с API-интерфейсом API 17 Jelly Bean без проблем. – adamacdo

Смежные вопросы