Tôi có một máy chủ gửi cho ứng dụng Android của tôi một cookie phiên để được sử dụng cho giao tiếp đã xác thực. Tôi đang cố gắng tải một WebView có URL trỏ đến cùng một máy chủ đó và tôi đang cố chuyển cookie phiên để xác thực. Tôi đang quan sát thấy nó hoạt động không liên tục nhưng tôi không biết tại sao. Tôi sử dụng cùng một cookie phiên để thực hiện các cuộc gọi khác trên máy chủ của mình và những cuộc gọi này không bao giờ bị lỗi xác thực. Tôi chỉ quan sát thấy vấn đề này khi cố gắng tải một URL trong WebView và nó không xảy ra mọi lúc. Rất bực bội.
Dưới đây là mã mà tôi đang sử dụng để thực hiện việc này. Chúng tôi rất trân trọng bất kỳ sự giúp đỡ nào.
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);