:WebViewClient.onReceivedSslErrorハンドラ
常にhandler.proceed();
に強制するものではありませが、あなたはまた、(handler.cancelを含める必要が)。ユーザーは危険なコンテンツの読み込みを避けることができます。 WebViewClient.onReceivedSslErrorハンドラの危険な実装を処理するために
webView.setWebViewClient(new SSLTolerentWebViewClient());
webView.loadUrl(myhttps url);
次のコードを使用し
private class SSLTolerentWebViewClient extends WebViewClient {
public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
AlertDialog.Builder builder = new AlertDialog.Builder(Tab1Activity.this);
AlertDialog alertDialog = builder.create();
String message = "SSL Certificate error.";
switch (error.getPrimaryError()) {
case SslError.SSL_UNTRUSTED:
message = "The certificate authority is not trusted.";
break;
case SslError.SSL_EXPIRED:
message = "The certificate has expired.";
break;
case SslError.SSL_IDMISMATCH:
message = "The certificate Hostname mismatch.";
break;
case SslError.SSL_NOTYETVALID:
message = "The certificate is not yet valid.";
break;
}
message += " Do you want to continue anyway?";
alertDialog.setTitle("SSL Certificate Error");
alertDialog.setMessage(message);
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Ignore SSL certificate errors
handler.proceed();
}
});
alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
handler.cancel();
}
});
alertDialog.show();
}
}
、とあなたのためにその作業をするクラスを作成しますか? –
これ以外のヘルプが必要ですか? –
これは単なる公開サイトであり、クロムやクロムのカスタムタブで開いたときに完全に開きますが、ウェブビューでエラーが発生します –