需求描述:
将app登陆接口返回的TGC信息写入webview的cookie当中
技术名词
CAS、Cookie、TGC
解决方案
我们都知道okhttp的CookieJar接口为我们获取网络请求过程中cookie信息提供了方法。android里面的CookieManager是用来给WebView提供原生管理cookie的办法的。这里我们我们打通上述问题的关键就是使用CookieManager来实现原生方法中登陆返回的cookie写入CookieManager中来达到WebView可以直接使用写入的cookie信息,避免在webview中二次登陆
引入:
Cookie 什么是cookie:最简单理解就是由http衍生出来的一种特殊的浏览器的缓存,特点是具有时效性、账户相关性、存储在客户端等。
作用:作为客户端的用户认证的通行证,比如服务端可以通过cookie来区分到底是哪个用户。
Android
中Cookie的管理相关:说到cookie的管理,其实本质上就是数据的存储问题。在早期的cookie是由CookieSyncManager进行管理的,但是在API
21 之后CookieSyncManager被抛弃了,换成了CookieManager来进行管理。Android中Cookie的存储:项目中使用 WebView 其实会自动将 Cookie 保存在本地数据库中。保存是路径为
data/data/package_name/app_WebView/Cookies 虽然不是 .db 结尾的,实际就是一个 .db 文件CookieSyncManager
使用CookieSyncManager同步cookie数据:在早期手机硬件性能比较尴尬的时候,为了提升浏览器的性能,加快cookie的读写,浏览器的cookie是存储在手机的内存上的。但是,当当存储在内存上是不够的,还需要保存到存储器上,这时CookieSyncManag

本文介绍了在Android开发中,如何将OkHttp获取的TGC信息同步到WebView的Cookie中,以避免WebView中的二次登录。讲解了Cookie的概念、作用以及在Android中的管理方式,包括CookieSyncManager和CookieManager的使用。同时,提到了Android 5.0以上版本对WebView的改动,并指出同步第三方Cookie的重要性。最后,文章列出了几个关键注意点,如CookieManager的更新、跨子系统Cookie共享及登出处理,将在下篇进行详细代码讲解。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



