認証された通信に使用するセッションCookieをAndroidアプリに送信するサーバーがあります。同じサーバーを指すURLを使用してWebViewをロードしようとしていますが、認証のためにセッションCookieを渡そうとしています。断続的に動作するのを観察していますが、理由はわかりません。同じセッションCookieを使用してサーバー上で他の呼び出しを行いますが、これらは認証に失敗することはありません。この問題は、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);