You can extract all cookies current url by this way from webview as string:
@Override
public void onPageFinished(WebView view, String url){
String cookies = CookieManager.getInstance().getCookie(url);
Log.d(TAG, "All the cookies in a string:" + cookies);
}
It was a quite late , but it might help someone
you can get the cookie value using this
getCookie("http://www.example.com","cookieName");
Declare the function as
public String getCookie(String siteName,String cookieName){
String CookieValue = null;
CookieManager cookieManager = CookieManager.getInstance();
String cookies = cookieManager.getCookie(siteName);
String[] temp=cookies.split(";");
for (String ar1 : temp ){
if(ar1.contains(cookieName)){
String[] temp1=ar1.split("=");
CookieValue = temp1[1];
break;
}
}
return CookieValue;
}
This answer is derived from @vimal1083. It returns the values in a Map
, and of course written in Kotlin
.
fun getCookieMap(siteName: String): Map<String,String> {
val manager = CookieManager.getInstance()
val map = mutableMapOf<String,String>()
manager.getCookie(siteName)?.let {cookies ->
val typedArray = cookies.split(";".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
for (element in typedArray) {
val split = element.split("=".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
if(split.size >= 2) {
map[split[0]] = split[1]
} else if(split.size == 1) {
map[split[0]] = ""
}
}
}
return map
}