weixin_41159044 2021-09-27 15:49 采纳率: 100%
浏览 129
已结题

在华为鸿蒙系统组件:webview中 getCookie能取到数值,但是每次结束app进程,cookie数值就不见了。

做一个webview组件,思路如下:

用户首次登陆,cookie为空,webivew.load(url),然后通过onPageLoaded获得cookie,再setCookie,下次用户二次登陆可以直接登陆而不用输入账号密码。

代码如下:

url1 = "https://www.chiphell.com/";
webView = (WebView) findComponentById(ResourceTable.Id_webview);
webView.getWebConfig().setJavaScriptPermit(true);
cookieStore = CookieStore.getInstance();
cookieStore.setCookieEnable(true);
cookieStore.setCrossDomainCookieEnable(webView, true);

if (cookieStore.getCookie(url1) == null) {/%ra2
    webView.load(url1);
} else {
    String[] cookies = cookieStore.getCookie(url1).split(";");
    for (int i = 0; i < cookies.length; i++) {
        cookieStore.setCookie(url1,cookies[i]);
    }
    cookieStore.persist();
    webView.load(url1);
}

webView.setWebAgent(new WebAgent() {

    @Override
    public boolean isNeedLoadUrl(WebView webView, ResourceRequest request) {
       
        return true;
    }
    @Override
    public void onPageLoaded(WebView webView, String url) {
        super.onPageLoaded(webView, url);
        cookieStore.setCookieEnable(true);
        cookieStore.setCrossDomainCookieEnable(webView, true);
        cookieStore.getCookie(url1);
        cookieStore.persist();
    }
});

在setCookie中能看到key=value值,但是app进程一结束,cookie就失效。此问题困扰我好几天,望各位不吝赐教!谢谢!

  • 写回答

1条回答 默认 最新

  • churuxu 2021-09-27 18:37
    关注

    反正都能获取了,那就自己保存到文件吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 已采纳回答 9月30日
  • 创建了问题 9月27日

悬赏问题

  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失
  • ¥15 springboot+vue 集成keycloak sso到阿里云
  • ¥15 win7系统进入桌面过一秒后突然黑屏
  • ¥30 backtrader对于期货交易的现金和资产计算的问题
  • ¥15 求C# .net4.8小报表工具
  • ¥15 安装虚拟机时出现问题
  • ¥15 Selenium+docker Chrome不能运行
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到