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

在华为鸿蒙系统组件: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 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料