在三星Note2的WebView中未加载特定URL

时间:2014-11-13 06:09:20

标签: android webview

我在webview中加载了一个URL,除了三星Note2外,所有设备都能正常运行。它没有在三星Note2中加载和显示网页,但相同的代码适用于所有设备。我无法找到相同的确切原因。请建议我解决这个问题。

我的WebView代码:

mWebView.setWebViewClient(new MyWebViewClient(this));
mWebView.setWebChromeClient(new WebChromeClient());
private class MyWebViewClient extends WebViewClient {

        private int refreshCount;
        private Context m_context;
        private long m_start;

        MyWebViewClient(Context context) {
            m_context = context;
            // pDialog = new ProgressDialog(m_context);
            dialog = new Dialog(m_context);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        }

        @Override
        public void onReceivedError(WebView view, int errorCode,
                String description, String failingUrl) {
            // TODO Auto-generated method stub
            super.onReceivedError(view, errorCode, description, failingUrl);
//          Toast.makeText(m_context, "Network Problem", Toast.LENGTH_SHORT).show();
            //          CommonMethods.showNetworkErrorMsg(WebPayUActivity.this);
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler,
                SslError error) {
            super.onReceivedSslError(view, handler, error);
            handler.proceed();
        }
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);

            try{
                m_start = System.currentTimeMillis() * 60;
                Window window = dialog.getWindow();
                window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

                dialog.setContentView(R.layout.pdialogcustom);
                dialog.getWindow().setBackgroundDrawableResource(
                        android.R.color.transparent);
                dialog.setCanceledOnTouchOutside(false);
                dialog.setCancelable(true);
                dialog.show();
            }catch (Exception e) {
                // TODO: handle exception
            }

        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            try {
                dialog.dismiss();
            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

LogCat for Note2:

11-13 11:10:16.071: D/dalvikvm(10088): GC_FOR_ALLOC freed 4116K, 60% free 26687K/65172K, paused 41ms, total 41ms
11-13 11:10:16.311: W/AwContents(10088): nativeOnDraw failed; clearing to background color.
11-13 11:10:16.401: D/ProgressBar(10088): updateDrawableBounds: left = 0
11-13 11:10:16.401: D/ProgressBar(10088): updateDrawableBounds: top = 0
11-13 11:10:16.401: D/ProgressBar(10088): updateDrawableBounds: right = 152
11-13 11:10:16.401: D/ProgressBar(10088): updateDrawableBounds: bottom = 152
11-13 11:10:16.696: D/ProgressBar(10088): updateDrawableBounds: left = 0
11-13 11:10:16.696: D/ProgressBar(10088): updateDrawableBounds: top = 0
11-13 11:10:16.696: D/ProgressBar(10088): updateDrawableBounds: right = 152
11-13 11:10:16.696: D/ProgressBar(10088): updateDrawableBounds: bottom = 152
11-13 11:10:16.701: E/ViewRootImpl(10088): sendUserActionEvent() mView == null
11-13 11:10:16.721: D/AbsListView(10088): onDetachedFromWindow
11-13 11:10:18.326: I/X509Util(10088): Failed to validate the certificate chain, error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

提前致谢。

1 个答案:

答案 0 :(得分:2)

删除onReceivedSslError方法中的super.onReceivedSslError调用,为我工作