Android WebView加载不到cookie

以下配置根据需求酌情添加,建议逐个试验,cookie操作不是内存操作,建议修改配置后卸载app再重新运行防止缓存影响测试结果。

1.设置应用程序的 WebView 实例是否应发送并接受 Cookie

java 复制代码
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);

2.设置支持js,cookie一般都是通过js写入

java 复制代码
webView.getSettings().setJavaScriptEnabled(true);

3.在Android 4.4及以下的系统,webview是默认接收第三方cookie的。但是,从android 5.0开始,webview默认是不接受第三方cookie的

java 复制代码
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) { 
     CookieManager.getInstance().setAcceptThirdPartyCookies(mWebView,true);
}

4.允许跨域

java 复制代码
// 允许跨域请求
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    webSettings.setAllowUniversalAccessFromFileURLs(true);
}else {
    // 对于低于API 16的版本,使用如下方式
    webSettings.setAllowUniversalAccessFromFileURLs(false);
}
相关推荐
kymjs张涛7 小时前
OpenClaw 学习小组:初识
android·linux·人工智能
范特西林11 小时前
实战演练——从零实现一个高性能 Binder 服务
android
范特西林12 小时前
代码的生成:AIDL 编译器与 Parcel 的序列化艺术
android
范特西林12 小时前
深入内核:Binder 驱动的内存管理与事务调度
android
范特西林12 小时前
解剖麻雀:Binder 通信的整体架构全景图
android
范特西林12 小时前
破冰之旅:为什么 Android 选择了 Binder?
android
奔跑中的蜗牛66614 小时前
一次播放器架构升级:Android 直播间 ANR 下降 60%
android
测试工坊16 小时前
Android 视频播放卡顿检测——帧率之外的第二战场
android
Kapaseker17 小时前
一杯美式深入理解 data class
android·kotlin
鹏多多17 小时前
Flutter使用screenshot进行截屏和截长图以及分享保存的全流程指南
android·前端·flutter