2013-07-04 2 views
0

У меня есть webView, где url: https://uesr:[email protected]:443/test-mobile, и когда я хочу загрузить эту страницу, это невозможно, когда я удаляю аутентификацию со страницы и удаляю пользователя: user @ page work. Как добавить аутентификацию в webview для работы с этим URL-адресом?Неверная страница показа с аутентификацией в webview в android

это мой Webview:

formWebView.getSettings().setJavaScriptEnabled(true); 
formWebView.loadUrl(url); 
formWebView.getSettings().setBuiltInZoomControls(true); 
+0

Похож на базовую аутентификацию HTTP. Посмотрите, поможет ли это: http://stackoverflow.com/questions/8935537/android-webview-with-https-connection-and-basic-auth-how-to-get-this-working –

+0

String usernameRandomPassword = "httpwatch:" + UUID.randomUUID(). ToString(); \t Разрешение строки = «Базовый» + Base64.encodeToString (имя пользователяRandomPassword.getBytes («UTF-8»), Base64.NO_WRAP); где я должен установить свой логин и пароль? – edi233

+0

String usernameRandomPassword = "user: user"; –

ответ

3

Я решить мою проблему:

formWebView.setWebViewClient(new WebViewClient() { 
      @Override 
      public void onReceivedHttpAuthRequest(WebView view, 
               HttpAuthHandler handler, 
               String host, 
               String realm){ 
      handler.proceed(loggedUser.getLogin(), loggedUser.getPass()); 
      } 

      public void onReceivedSslError(WebView view, 
             SslErrorHandler handler, 
             SslError error) { 
      handler.proceed() ; 
      } 
     }); 
+0

Perfect !!! Вы спасли меня... –

0

Написать ниже код в ваш OnCreate метод.

webView.setWebViewClient (новый MyWebViewClient());

private class MyWebViewClient extends WebViewClient 
{ 

    public void onReceivedHttpAuthRequest(WebView view, 
      HttpAuthHandler handler, String host, String realm) { 

     handler.proceed("UserName", "Password"); 
    } 

    public void onPageStarted(WebView view, String url, Bitmap favicon) { 
     if (dialog != null) { 
      if (!dialog.isShowing()) { 
       dialog.show(); 
      } 
     } 
    } 

    public void onLoadResource(WebView view, String url) { 
     // TODO Auto-generated method stub 
     super.onLoadResource(view, url); 

    } 

    public void onScaleChanged(WebView view, float oldScale, float newScale) { 
     // TODO Auto-generated method stub 
     super.onScaleChanged(view, oldScale, newScale); 
    } 

    public void onTooManyRedirects(WebView view, Message cancelMsg, 
      Message continueMsg) { 
     // TODO Auto-generated method stub 
     super.onTooManyRedirects(view, cancelMsg, continueMsg); 
    } 

    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     // TODO Auto-generated method stub 




     return super.shouldOverrideUrlLoading(view, url); 

    } 

    public void doUpdateVisitedHistory(WebView view, String url, 
      boolean isReload) { 
     // TODO Auto-generated method stub 
     super.doUpdateVisitedHistory(view, url, isReload); 

    } 

    public void onReceivedError(WebView view, int errorCode, 
      String description, String failingUrl) { 
     // TODO Auto-generated method stub 
     super.onReceivedError(view, errorCode, description, failingUrl); 
    } 

    public void onPageFinished(WebView view, String url) { 
     if (dialog != null) { 

      dialog.dismiss(); 
     } 
    } 

} 
Смежные вопросы