У меня есть сервер, который отправляет моему приложению 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);