我在 Android 4.0.4 的 WebView 中遇到了 Google-Charts 的问题
我有一个带有 Google 图表的小页面,所以如果我在浏览器中显示这个 html 页面,图表就会显示得很好。如果我在 Samsung Galaxy 7 (Android 2.2) 上启动我的应用程序,Google-Chart 也会在 WebView 中显示得很好。但是,如果我在三星 Galaxy 10.1 (Android 4.0.4) 上启动相同的应用程序,带有 Google-Chart 的 WebView 只是空的,没有错误消息或其他内容,这可能对调试有用。
本质上,我只是尝试将 Google-Chart URL 加载到 WebView 中:
String url = <google-chart-url>;
// is there something strange with the content?
showContent(url);
WebView webview = ((WebView) findViewById(R.id.webview));
webview.loadUrl(url);
用于验证来自服务器的数据是否正常的小 HTTP 请求:
private void showContent(String url) {
int TIMEOUT_CONNECTION = 60000;
int TIMEOUT_SOCKET = 60000;
// Parameter setzen
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_CONNECTION);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_SOCKET);
HttpClient httpClient = new DefaultHttpClient(httpParams);
// Daten holen
HttpGet getMethod = new HttpGet(url);
HttpResponse response;
String raw = new String();
try {
response = httpClient.execute(getMethod);
HttpEntity responseEntity = response.getEntity();
if(responseEntity != null) {
raw = EntityUtils.toString(responseEntity);
}
Log.d(LOG_TAG, "showContent: " + raw);
} catch (IOException e) {
Log.e(LOG_TAG, e.getMessage(), e);
}
}
我还尝试了不同的 WebView 设置:
WebView webview = (WebView) findViewById(R.id.webview);
// JavaScriptInterface to handle clicks in the WebView
webview.addJavascriptInterface(new HtmlClick(), "clicks");
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
有没有人遇到过类似的问题或有人对实际存在的问题提出建议?
提前致谢 ;)
更新:
三星 Galaxy 10.1 上的浏览器也不显示图表;测试:
- 互联网
- 铬合金
- 火狐
- 歌剧