У мене є сервер, який надсилає моєму додатку для Android сеансовий файл cookie для використання для автентифікованого зв'язку. Я намагаюся завантажити WebView з URL-адресою, що вказує на той самий сервер, і намагаюся передати сеансовий файл cookie для автентифікації. Я спостерігаю, що це працює з перебоями, але я не уявляю, чому. Я використовую той самий сеансовий файл cookie для здійснення інших дзвінків на моєму сервері, і вони ніколи не провалюють аутентифікацію. Я спостерігаю цю проблему лише при спробі завантажити URL-адресу у WebView, і це трапляється не кожен раз. Дуже розчаровує.
Нижче наведено код, який я використовую для цього. Будь-яка допомога буде вдячна.
String myUrl = ""http://mydomain.com/";
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
Cookie sessionCookie = getCookie();
if(sessionCookie != null){
String cookieString = sessionCookie.getName() +"="+sessionCookie.getValue()+"; domain="+sessionCookie.getDomain();
cookieManager.setCookie(myUrl, cookieString);
CookieSyncManager.getInstance().sync();
}
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClient());
webView.loadUrl(myUrl);