0
g
原创首发

OkHttp 上一次请求被中断,下次请求使用同一个Client 导致请求路径错误问题

ccTyL 发表于 2025-08-09 09:29 451
评论
0/240
  • 断点
    for (Call call : OKHttpClient.client().dispatcher().runningCalls()) { if (tag.equals(call.request().tag())) { call.cancel(); } }
    2025-08-11 09:23  回复
    1139423796017500160
    • ccTyL  回复 @断点
      原来要带tag的吗。不过那个cancelAll() 方法确实存在
      2025-08-11 09:44   回复 1314408005793603584
  • 断点
    for (Call call : OKHttpClient.client().dispatcher().queuedCalls()) { if (tag.equals(call.request().tag())) { call.cancel(); } } 、
    2025-08-11 09:23  回复
    1139423796017500160
    • 断点
      找了下伪代码 Request request = new Request.Builder() .url(url) .post(RequestBody.create(mediaType, requestBody)) .tag(tag) .build()
      2025-08-11 09:22  回复
      1139423796017500160
      • 断点
        描述的中断,是怎么做的,用了那些api做,上面的dispatcher().cancelAll();是谁的api,我用了这么久没用过这个函数,通常取消一个请求,发起请求的时候设置tag,用tag标记,需要取消的时候取消。
        2025-08-11 09:21  回复
        1139423796017500160
        • ccTyL  回复 @断点
          大佬来了,代码是这样的:https://github.com/cctyl/simple-backup/blob/master/app/app/src/main/java/io/github/cctyl/backup/service/BackupService.java 这个文件的358行,是一个进度监听器,回调里有个i()方法,这里会抛出异常
          2025-08-11 09:43   回复 1314408005793603584
        • 断点  回复 @ccTyL
          如果你的业务要取消,那就把请求取消就好了。这个中断我以为是什么中断api,没想到是自己抛出异常。。。
          2025-08-11 10:05   回复 1139423796017500160
        • ccTyL  回复 @断点
          是要取消,但是不仅仅是请求取消,光取消请求做不到我的要求,是要后续的所有流程都要取消。只能这样做,还要什么解决办法吗,抄一下
          2025-08-11 10:13   回复 1314408005793603584
      推荐文章
      通过配置 Log 和 Timber 的 ProGuard 规则来移除日志代码调用
      解决Objectbox数据库json文件冲突
      遇到一个没有直接给进度监听回调的库怎么办呢?
      Android打包任务定制清理项目加编译
      Android 界面参数追踪工具类:通过生命周期回调监控传参
      Flutter开发,我遇到个啥问题呢?1个小时才发现
      AndroidStudio 版本 <==> AGP版本 <==> Gradle版本 兼容性速查表
      Android Studio 2025 kts配置signingConfigs
      Flutter 存储键值数据 SharePreference
      AndroidStudio 2024.2.2发布apk时候备份mapping文件kts版本
      记录一起由 FastJson 和 Kotlin 引发的 App Crash
      Android项目升级插件到kotlin 2.1.0后混淆网络请求异常
      AndroidStudio导入jar,aar到项目kts/groovy方式
      AndroidStudio 2024.2.2发布apk时候更新apk名字Groovy版
      Android Java创建ViewModel新api
      Android14读取壁纸图片诡异bug
      Android三星诡异bug之Caused by org.xmlpull.v1.XmlPullParser
      AndroidStudio升级到2024.2.2项目AGP升级8.8.0版本记录
      AndroidStudio最新版2024.2.2中提交代码窗口设置
      安卓13怎么申请并且获取我当前的位置,来自GPT的回复
      AndroidStudio Ladybug中编译完成apk之后定制名字kts复制到指定目录
      AndroidStudio编译错误utterknife.compiler.ButterKnifeProcessor$RSc
      Android监听系统软键盘的弹出和收回实现
      默认给予APK设备管理员权限以及取消进入APP导航栏按钮亮度自动变暗
      Uniapp开发实战
      Android断点Please close other application using ADB: Monitor
      AndroidStudio构建分析
      安卓在Recent界面清理app同时也清理掉关于此app的所有服务
      Android Gradle自定义任务在打包任务执行完成后执行cmd命令
      Android Studio Ladybug升级老项目遇到问题
      文章目录