我在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.
提前致谢。
答案 0 :(得分:2)
删除onReceivedSslError方法中的super.onReceivedSslError调用,为我工作