Android Frgment中onActivityResult无效的问题

前言

最近在fragment中使用二维码扫描 发现拿不到onActivityResult返回

查了资料说是启动模式 或者是返回值为负数

断点调试 发现根本没走onActivityResult方法

问题

onActivityResult 在附属Activity中被拦截了 所以没有触发该方法

解决

在Fragment所依赖的Activity中执行

如此问题解决

java 复制代码
  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //遍历调用onActivityResult 解决fragment中onActivityResult失效的问题
        for (Fragment fragment : getSupportFragmentManager().getFragments()) {
            fragment.onActivityResult(requestCode, resultCode, data);
        }
    }
相关推荐
alexhilton4 小时前
将应用迁移到Navigation 3:痛点、加班和紧急修复
android·kotlin·android jetpack
杉氧9 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白13 小时前
指针与数组的核心机制
android
黄林晴17 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋18 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev18 小时前
Gson → kotlinx.serialization
android·java·kotlin
CYY951 天前
Compose 入门篇
android·kotlin
杉氧1 天前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
android·架构·android jetpack
杉氧1 天前
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?
android·架构·android jetpack