我有一个服务器,发送我的安卓应用程序会话 cookie,用于认证通信。我试图加载一个网络视图与一个 URL 指向同一个服务器,我尝试传入会话 cookie 进行身份验证。我观察到它间歇性地工作,但我不知道为什么。我使用相同的会话 cookie 在我的服务器上进行其他调用,这些调用从不会失败。我只有在尝试在 WebView 中加载 URL 时才会发现这个问题,而且这种情况并不是每次都会发生。非常令人沮丧。
下面是我正在使用的代码,任何帮助将不胜感激。
String myUrl = "http://example.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);