美文网首页
android webview设置cookie

android webview设置cookie

作者: 啪嚓啪嚓 | 来源:发表于2022-02-24 13:42 被阅读0次

开发中使用webview加载url时,需要带上原生登录的用户信息,所以考虑往cookie中写入,写入cookie的代码如下:

        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);
        cookieManager.removeSessionCookie();
        cookieManager.removeAllCookie();

        cookieManager.setCookie(url, "userID=" + userID);
        cookieManager.setCookie(url, "userIDSign=" + userSign);
        cookieManager.setCookie(url, "deviceID=" + deviceID);
        cookieManager.setCookie(url, "deviceSign=" + deviceIDsign);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            cookieManager.flush();
        } else {
            CookieSyncManager.getInstance().sync();
        }

这里需要注意一个几个点
1.每次调用setCookie都是增加一个新的cookie,并不会覆盖之前的cookie
2.如上图所示,如果写成这样

cookieManager.setCookie(url, "userID=" + userID
                + ";userIDSign=" + userSign
                + ";deviceID=" + deviceID
                + ";deviceSign=" + deviceIDsign);

这种写法前端页面可能只会读到第一个键-值对,这里需要注意

  1. 但是如果cookie的key为“SESSION”,在后面追加domain和path,这样写是没有问题的,代码如下:
 cookieManager.setCookie(mUrl, "SESSION=" + session
                    + ";Domain=xx.xxxxxx.com"
                    + ";Path=/");

该规则或许只适用于“SESSION”或者Domain以及Path,如果使用别的自定义key可能无法读取分号后面的其他键值对,
该问题后续需要验证一下,这里只说现象

另外如果不是在app启动时就携带信息,可以使用调用js传参的方式来传递关键信息,比如下面的方式:

 webView.loadUrl("javascript:loginSuccess('" + json + "')");

本文章主要是针对此问题记录一下,也希望能帮助小伙伴们少踩坑

相关文章

  • Android WebView设置Cookie

    最近项目中JS和本地交互需要在网页加载时向WebView同步token来判断当前是否登录APP代码如下:

  • Android WebView设置Cookie

    场景 最近公司项目需求,要求H5可以直接通过cookie得到相关信息 业务场景1:网页登录:记录用户登录信息,下次...

  • android webview设置cookie

    开发中使用webview加载url时,需要带上原生登录的用户信息,所以考虑往cookie中写入,写入cookie的...

  • [Android]Cookie研究

    学习自:android WebView的cookie机制【WebView的cookie机制 】轻松搞定WebVie...

  • WebView设置cookie简述与代码实现

    概述 本文主要说明内容如下: Cookie值的格式 Android端WebView如何设置针对特定域名的网址设置c...

  • Android 开发中 Cookie 持久化研究

    参考:android WebView的cookie机制Android中Cookie获取、保存以及同步OkHttp3...

  • Android 控件WebView设置Cookie

    引言:网页需要设置登录状态等情形。开发使用过程中自我经验简单记录。时间:2017年03月13日20:53:12作者...

  • flutter_webview_plugin设置cookie

    flutter_webview_plugin设置cookie 前言 原版的flutter_webview_plug...

  • webview 设置cookie

    在开发android项目的时候,遇到了一个问题,在使用webview加载网页的时候,想利用设置cookie来避免在...

  • WebView设置Cookie

    项目中native和H5的交互免不了需要在webview里面设置Cookie,方法如下: private void...

网友评论

      本文标题:android webview设置cookie

      本文链接:https://www.haomeiwen.com/subject/qxrzlrtx.html