莫道桑榆晚,为霞尚满天。这篇文章主要讲述android okhttp和webview session共享相关的知识,希望能为你提供帮助。
public static OkHttpClient get(Context context){ OkHttpClient.Builder builder = new OkHttpClient.Builder() .cookieJar(new WebViewCookieHandler(context)) .connectTimeout(15, TimeUnit.SECONDS) .writeTimeout(20, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .cache(new Cache(context.getCacheDir(), Config.REQUEST_CACHE_SIZE)); return builder.build(); }
public class WebViewCookieHandler implements CookieJar { private CookieManager mCookieManager = CookieManager.getInstance(); public Context context; public WebViewCookieHandler(Context context){ this.context = context; }@Override public void saveFromResponse(HttpUrl url, List< Cookie> cookies) { mCookieManager.setAcceptCookie(true); String urlString = url.toString(); for (Cookie cookie : cookies) { mCookieManager.setCookie(urlString, cookie.toString()); } if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP){ CookieSyncManager.getInstance().sync(); }else{ mCookieManager.flush(); } }@Override public List< Cookie> loadForRequest(HttpUrl url) { String urlString = url.toString(); String cookiesString = mCookieManager.getCookie(urlString); if (cookiesString != null & & !cookiesString.isEmpty()) { String[] cookieHeaders = cookiesString.split("; "); List< Cookie> cookies = new ArrayList< > (cookieHeaders.length); for (String header : cookieHeaders) { cookies.add(Cookie.parse(url, header)); } return cookies; } return Collections.emptyList(); }
【android okhttp和webview session共享】
推荐阅读
- android高仿小视频应用锁3种存储库QQ小红点动画仿支付宝图表等源码
- APP开发外包公司如何选择?
- android https遇到自签名证书/信任证书
- Android中的常见通信机制和Linux中的通信机制
- Appium-连接夜神模拟器
- Android 布局巧用之includemergeViewStub
- solrj 7.xExpected mime type application/octet-stream but got text/html.
- Android studio 3.1.2没有Android monitor
- android 软件实现架构。