Как передавать файлы cookie из приложения Android на веб-страницы

#android #cookies #android-webview #httpcookie

#Android #файлы cookie #android-webview #httpcookie

Вопрос:

У меня есть приложение для Android, в котором есть экран входа в систему. При нажатии кнопки входа в систему я запускаю веб-просмотр с переданными ему файлами cookie. Итак, я могу видеть содержимое веб-страницы в веб-представлении.

Но когда я нажимаю на ссылки загруженной веб-страницы, запрос завершается, и оттуда веб-страница не загружается. Как передавать файлы cookie таким образом, чтобы после входа в систему я мог неустанно просматривать любое количество веб-страниц.

Ответ №1:

Попробуйте это..

     WebView webview = new WebView(this);
    webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return super.shouldOverrideUrlLoading(view, url);
        }
    });

    CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(webview.getContext());
    cookieSyncManager.startSync();
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.removeSessionCookie();
    cookieManager.setCookie(URL, COOKIE);
    cookieSyncManager.sync();

    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(URL);
    setContentView(webview);
 

Ответ №2:

Вы не должны покидать свой веб-просмотр. Перехватите ссылку и загрузите URL-адрес в свой собственный веб-просмотр

   WebView webview = new WebView(this);      
      webview.setWebViewClient(new WebViewClient() {  
          @Override  
          public boolean shouldOverrideUrlLoading(WebView view, String url)  
          {  
               view.loadUrl(url);  
               return true;  
          }  
        });                 
      setContentView(webview);      
      webview.loadUrl(yourUrl);