在项目开发中用webview加载html,用户在html里登录,需求是当用户杀掉进程重新进入App的时候要保持用户的登录状态,Android 原生的webview是不记录登录状态的,这时候需要我们进入页面的时候取出cookie,退出的时候在生命周期里存储cookie,网上找了很多资料才解决问题,特此记录一下,具体操作代码如下:
//获取cookie 在刚进入页面的时候,获取到cookie后通过cookieManager的setCookie设置给webview
public void setCookies(String cookiesPath) {
Map<String, String> cookieMap = new HashMap<>();
String cookie = getSharedPreferences("cookie", Context.MODE_PRIVATE).getString("cookies", "");// 从SharedPreferences中获取整个Cookie串
if (!TextUtils.isEmpty(cookie)) {
String[] cookieArray = cookie.split(";");// 多个Cookie是使用分号分隔的
for (int i = 0; i < cookieArray.length; i++) {
int position = cookieArray[i].indexOf("=");// 在Cookie中键值使用等号分隔
String cookieName = cookieArray[i].substring(0, position);/