设置cookie
-------------------
**在loadURL之前调用**
--------------------
/**
* 同步一下cookie
*/
public void synCookies(String url) {
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.acceptCookie();
cookieManager.removeSessionCookie();// 移除
cookieManager.removeAllCookie();
/**
* cookies是在HttpClient中获得的cookie
*/
String token = PersonInfoUtils.getToken(mContext);
if (MyTextUtils.isEmpty(token)) {
return;
}
token = token.split(" ")[1];
cookieManager.setCookie(url, "token=" + token);
/**
* 判断系统当前版本,同步方式不一样
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.flush();
} else {
CookieSyncManager.createInstance(mContext).sync();
}
}
设置LocalStorage 在onPageFinished中调用
webSettings.setDomStorageEnabled(true);
webSettings.setAppCacheMaxSize(1024 * 1024 * 8);
String appCachePath = getContext().getCacheDir().getAbsolutePath();
webSettings.setAppCachePath(appCachePath);
private void writeLocalStorage() {
String key = "token";
String token = PersonInfoUtils.getToken(mContext);
if (MyTextUtils.isEmpty(token)) {
return;
}
token = token.split(" ")[1];
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
if (webView != null) {
webView.evaluateJavascript("window.localStorage.setItem('" + key + "','" + token + "');", null);
}
} else {
if (webView != null) {
webView.loadUrl("javascript:localStorage.setItem('" + key + "','" + token + "');");
}
}
}
网友评论