Android 4.0.4 の WebView で Google-Charts に問題が発生しました
Google チャートを含む小さなページがあるので、この html ページをブラウザで表示すると、チャートは問題なく表示されます。Samsung Galaxy 7 (Android 2.2) でアプリを起動すると、WebView にも Google-Chart が表示されます。しかし、Samsung 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);
同様の問題に遭遇した人はいますか、または実際にバグが発生しているものを誰かが提案していますか?
前もって感謝します ;)
アップデート:
Samsung Galaxy 10.1 のブラウザもグラフを表示しません。テスト済み:
- インターネット
- クロム
- ファイアフォックス
- オペラ