我有一台服务器,向我的android应用发送一个会话cookie,用于身份验证通信。我正在尝试使用指向同一服务器的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);