2017-05-17 1 views
1

Meine Webanwendung erhält einen SSL-Fehler. Es wird eine Warnmeldung angezeigt, in der gefragt wird, ob die Website geladen werden soll oder nicht. Wenn Sie auf Ja klicken, wird die Webseite geladen, indem der SSL-Fehler ignoriert wird. Aber wenn ich die gleiche Website neu lade, zeigt es mir die Warnmeldung nicht an, um den Fehler zu behandeln, und lädt direkt die Website.Wie man WebView Anzeige SSL Fehler jedes Mal, wenn Seite neu geladen ist?

Also, meine Frage ist Wie mache ich das Webview zeigen mir die Warnmeldung SSL-Fehler zu behandeln jedes Mal, wenn ich die Website neu lade?

Mein Code ssl Fehler zu behandeln is``

    if(error.getPrimaryError()==SslError.SSL_UNTRUSTED) 
        { 

         final Dialog sslalertdialog = new Dialog(browser.this); 
         sslalertdialog.setContentView(R.layout.sslerroralert); 
         sslalertdialog.show(); 
         TextView sslalertmessage, sslalerttitle; 
         Button yes,no; 
         sslalertmessage= (TextView) sslalertdialog.findViewById(R.id.sslerrormessage); 
         sslalerttitle= (TextView) sslalertdialog.findViewById(R.id.sslerrorTitle); 
         String message="The Website Security Certificate is Not Trusted." + 
           "One possible cause of this error is that a self-signed certificate is installed on the Website's server. " + 
           "Self-signed certificates aren't trusted by browsers because they are generated by Website's server, not by an accredited Certificate Authority (CA)." + 
           "Another cause of the error is that Someone is trying to intercept your communication." + 
           "You Should not Proceed,if you have never seen this error message for this Website before." + 
           "And if you want to proceed ,plz donot provide any sensitive Infomation to the site (like Credit Card Details " + 
           "Do you want to proceed anyways ?"; 
         sslalerttitle.setText("The Website Cannot be Trusted!"); 
         sslalertmessage.setText(message); 
         no=(Button) sslalertdialog.findViewById(R.id.NOBUTTON); 
         yes=(Button) sslalertdialog.findViewById(R.id.YES_BUTTON); 
         no.setOnClickListener(new View.OnClickListener() { 
          @Override 
          public void onClick(View v) { 
           sslalertdialog.dismiss(); 
           handler.cancel(); 
          } 
         }); 
         yes.setOnClickListener(new View.OnClickListener() { 
          @Override 
          public void onClick(View v) { 
           sslalertdialog.dismiss(); 
           handler.proceed(); 

           padlock.setImageDrawable(getDrawable(R.drawable.ic_warning_red_400_24dp)); 

          } 
         }); 
+0

Irgendwelche Nachrichten auf diesem? Ich stieß auf das gleiche Problem und muss jedes Mal einen Dialog zeigen. – pbertsch

Antwort

0

Sie clearSslPreferences nutzen könnten() Funktion von WebView wie:

webView.clearSslPreferences() 

Es wird Ihre Entscheidung für dieses Objekt von WebView löschen und Sie könnten wieder eine Warnmeldung erhalten.

Verwandte Themen