인증 된 통신에 사용할 세션 쿠키를 Android 앱에 보내는 서버가 있습니다. 동일한 서버를 가리키는 URL로 WebView를로드하려고하는데 인증을 위해 세션 쿠키를 전달하려고합니다. 간헐적으로 작동하는 것을 관찰하고 있지만 이유를 모르겠습니다. 동일한 세션 쿠키를 사용하여 내 서버에서 다른 호출을 만들고 인증에 실패하지 않습니다. WebView에서 URL을로드하려고 할 때만이 문제가 발생하며 매번 발생하지 않습니다. 매우 실망 스럽습니다.
다음은이 작업을 수행하는 데 사용하는 코드입니다. 어떤 도움이라도 대단히 감사하겠습니다.
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);