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”的字符串了,简单吧!
来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/android/405.html