android app用户登录之后,如果是WebView加载html5界面,该如何将用户登录状态同步到html5页面中呢?
小编有一个想法,就是将android app用户登录信息存储到localStorage对象中,然后在html5界面中的js里面使用localStorage.getItem("username");来获取用户登录信息,如果获取到了,就可以做很多的操作了。
android WebView使用方法很简单,可以看小编前些时间写的webView教程:WebView控件加载html网页的简单操作
下面来简单的叙述下webView该如何向localStorage对象中存储数据吧!(只写部分重要代码,因为上面有介绍webview的使用教程)
1:首先要开启javascript,localStorage支持,这两个设置非常重要,少了任何一个都不行,myWebView就是WebView对象,知道就好。
myWebView.getSettings().setJavaScriptEnabled(true); //设置可以加载js WebSettings settings = myWebView.getSettings(); //开启localStorage settings.setDomStorageEnabled(true);
2:使用WebView的loadUrl可以直接调用javascript函数,因为我们在javascript中向localStorage设置参数值也是这样的,如下是一个函数。
localStorage.setItem("username","zhangsan")
所以我们在android中可以直接使用loadUrl来执行javascript函数,如下,设置了一个username=lisi的用户。
myWebView.loadUrl("javascript: localStorage.setItem('username', 'lisi');");
3:如何在html5页面中获取我们android向localStorage中设置的值呢?很简单,代码如下。
var userName = localStorage.getItem("username"); alert(userName);
步骤3中就可以直接alert弹出“lisi”的字符串了,简单吧!