Saya memiliki server yang mengirim aplikasi android saya cookie sesi untuk digunakan untuk komunikasi yang diautentikasi. Saya mencoba memuat WebView dengan URL yang menunjuk ke server yang sama dan saya mencoba untuk meneruskan cookie sesi untuk otentikasi. Saya mengamati bahwa itu bekerja sesekali tetapi saya tidak tahu mengapa. Saya menggunakan cookie sesi yang sama untuk melakukan panggilan lain di server saya dan otentikasi ini tidak pernah gagal. Saya hanya mengamati masalah ini saat mencoba memuat URL di WebView, dan itu tidak terjadi setiap saat. Sangat membuat frustasi.
Di bawah ini adalah kode yang saya gunakan untuk melakukan ini. Bantuan apa pun akan sangat dihargai.
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);