中国默认情况下不允许在中国的Android设备上安装Google Chrome浏览器,我们也不能要求使用它进行测试。我们注意到,我们的混合应用程序在中文设备上遇到了问题
在装有Android 5以上版本的中文设备中。
1.- WebView组件是否不同于标准?
2.- WebView使用什么渲染引擎和javascript引擎? WebKit和V8?
3.-哪种中文浏览器的行为与WebView / Chrome最相似?
谢谢。
答案 0 :(得分:0)
我已经使用中文Android设备很多年了。 我的许多客户都拥有ONDA和CUBE平板电脑设备,它们的运行时间可能早于4.2.2,大多数运行于5.0+。 这是一个很难回答的问题,因为口味太多,当然它们没有Google Play服务。 大多数这些设备上的WebView组件都运行良好。呈现引擎似乎是WebGL。以下是一些屏幕截图,显示了我使用的ONDA 7“平板电脑的浏览器详细信息。 这是我刚刚在我的ONDA 7“平板电脑上测试过的代码,它可以正常工作
webView = (WebView) findViewById(R.id.wb_webview);
//Scroll bars should not be hidden
webView.setScrollbarFadingEnabled(false);
webView.setHorizontalScrollBarEnabled(true);
webView.setVerticalScrollBarEnabled(true);
webView.setFitsSystemWindows(true);
//Enable JavaScript
webView.getSettings().setJavaScriptEnabled(true);
//Set the user agent
webView.getSettings().setUserAgentString("AndroidWebView");
//Clear the cache
webView.clearCache(true);
webView.setBackgroundColor(Color.parseColor("#FFFFFF"));
webView.setFadingEdgeLength(10);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);
final Activity activity = this;
final ProgressDialog progressDialog = new ProgressDialog(activity);
//progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setProgressStyle(ProgressDialog.THEME_HOLO_LIGHT);
progressDialog.setCancelable(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
progressDialog.setCanceledOnTouchOutside(true);
progressDialog.setTitle("Loading visualization ...");
progressDialog.setButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
webView.destroy();
finish();
} });
progressDialog.show();
progressDialog.setProgress(0);
activity.setProgress(progress * 1000);
progressDialog.incrementProgressBy(progress);
if(progress == 100 && progressDialog.isShowing())
progressDialog.dismiss();
}
});
// Load the URL of the HTML file containing the JavaScript D3 code
webView.loadUrl("https://www.google.com");