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