今天同事找我研究在本地设置cookie的方法,他对我说在安卓的asset目录下的html怎么都无法设置\获取cookie。我拿过他的工程看了看,果然一直都是null。后来知道原因可能是处于安全原因,谷歌禁止本地文件读写cookie。
这么说是有原因的,在你的PC上用IE打开assets里的html,选择允许加载项(在安全措施上微软一直如此奔放),html里的js可以获取到cookie,然后用chrome打开看看,cookie为null。而android的webview就是一个“微型”的chrome,也不奇怪webview里的本地html获取到的cookie为null了。
另外StackOverflow上很多人都表示遇到了这个问题:http://stackoverflow.com/questions/4543349/load-local-html-in-webview
解决方案是利用loadDataWithBaseURL这个接口,曲线救国:
http://stackoverflow.com/questions/4543349/load-local-html-in-webview
是不是有一点hack的味道?
知识共享署名-非商业性使用-相同方式共享:码农场 » Android WebView hack安全限制,为assets里的本地html设置cookie
现在本人也遇到同问题,请问你后来怎么解决的?
没给代码让人很困扰啊,我试了很我方式,都不行