Android里webview同步cookie

最近项目里有使用webview和js交互的问题,但在进行加载前需要处理一个用户信息cookie同步问题,在网上找了下并记录下来:
1.登录时从服务器的返回头中取出cookie,网络请求方式不同取cookie的方式也不同。不懂的可以自行百度或google
2.将cookie同步到WebView中
(提示:同步cookie需要在webview加载指定的url之前同步,否则是不能同步成功的)

    /**
     * 将cookie同步到WebView
     * @param url WebView要加载的url
     * @param ManagerTokenCookie 要同步的cookie里的值(根据后台需求取,这里只是列出)
     * @return true 同步cookie成功,false同步cookie失败
     */
    public boolean syncCookie(String url,String ManagerTokenCookie) {
        CookieSyncManager mCookieManager = CookieManager.getInstance();
        mCookieManager.setAcceptCookie(true);
        mCookieManager.setCookie(url, "ManagerToken="+ManagerTokenCookie);//以"key=value"形式作为cookie即可
        String newCookie = mCookieManager.getCookie(url);
        //在API 21之后,WebView实现了自动同步Cookie,不需要手动同步,所以,使用时可以添加版本判断;
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            CookieSyncManager.createInstance(mContext).sync();
        }
        return TextUtils.isEmpty(newCookie)?false:true;
    }

你可能感兴趣的:(Android里webview同步cookie)