localStorage在android這邊存儲數據注意要點總結:
1.打開domStorage
webSettings.setDomStorageEnabled(true);
2.在onPageFinished里面進行存值
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
view.evaluateJavascript("window.localStorage.setItem('LOGIN_STATUS_TOKEN','" + token + "');", new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
LogUtil.d("-----first receive value is "+value);
}
});
} else {
view.loadUrl("indow.localStorage.setItem('LOGIN_STATUS_TOKEN','" + token +"');");
view.reload();
}
3.一定要設置cacheMode為WebSettings.LOAD_NO_CACHE
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
網上幾乎沒有說這一點的,而我就是沒設置,在這個坑里呆了好久。記住,這個一定要設置!!!!!!!
localStorage獲取值得方式
String js = "window.localStorage.getItem('LOGIN_STATUS_TOKEN');";
view.evaluateJavascript(js, new ValueCallback<String>() {
@Override
public void onReceiveValue(String value) {
//這個value就是取得的值啦
}
});
附一些其他用法
sessionStorage.setItem("key","value");//存儲
sessionStorage.getItems(key);//按key進行取值
sessionStorage.removeItems(key);//按key單個刪除
sessionStorage.clear();//刪除全部數據
sessionStorage.length;//獲得數據的數量
sessionStorage.valueOf();//獲取全部值
感謝這個帖子的作者,從里面學到很多。https://blog.csdn.net/qq_42068550/article/details/92795955