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);
        }
    }
相关推荐
dalancon几秒前
VSYNC 信号流程分析 (Android 14)
android
dalancon10 分钟前
VSYNC 信号完整流程2
android
dalancon12 分钟前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013841 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android2 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才2 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶3 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle
汪海游龙3 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
qq_283720054 小时前
MySQL技巧(四): EXPLAIN 关键参数详细解释
android·adb
没有了遇见5 小时前
Android 架构之网络框架多域名配置<三>
android