中文Android设备。 WebView使用什么浏览器?

时间:2019-01-25 02:04:15

标签: android google-chrome android-webview

中国默认情况下不允许在中国的Android设备上安装Google Chrome浏览器,我们也不能要求使用它进行测试。我们注意到,我们的混合应用程序在中文设备上遇到了问题

在装有Android 5以上版本的中文设备中。

1.- WebView组件是否不同于标准?

2.- WebView使用什么渲染引擎和javascript引擎? WebKit和V8?

3.-哪种中文浏览器的行为与WebView / Chrome最相似?

谢谢。

1 个答案:

答案 0 :(得分:0)

我已经使用中文Android设备很多年了。 我的许多客户都拥有ONDA和CUBE平板电脑设备,它们的运行时间可能早于4.2.2,大多数运行于5.0+。 这是一个很难回答的问题,因为口味太多,当然它们没有Google Play服务。 大多数这些设备上的WebView组件都运行良好。呈现引擎似乎是WebGL。以下是一些屏幕截图,显示了我使用的ONDA 7“平板电脑的浏览器详细信息。 enter image description here 这是我刚刚在我的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");