LG G2上的Android WebView呈现错误

时间:2015-05-07 17:21:21

标签: android android-webview

我正在为我们的客户编写一个应用程序,我必须向用户显示一个WebView,这是一个由客户端提供的网站,我在其中注入JS以隐藏某些仅限桌面的元素。

我在尝试包含照片时最初在KitKat上遇到问题,因为KitKat中对WebChromeClient的更改未更新以正确处理组件。通过实现位于此处的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,三星Galaxy S3 Mini)

根据我的LogCat假设,似乎WebView试图调用LG G2的Android KitKat版本中未包含的方法。看起来它试图调用Android L。

LogCat:http://pastebin.com/h6mGdNsh

所以我的问题是:是否有理由在LG G2上错误地呈现网页,我将如何解决此问题?

由于 亚当

2 个答案:

答案 0 :(得分: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,但其回退行为不同。

答案 1 :(得分:0)

我意识到WebView将网页呈现为桌面版,而不是移动版。一旦我将WebView的用户代理设置为已知良好的用户代理,它就按预期工作。

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”);

相关问题