Android Frgment中onActivityResult无效的问题

前言

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

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

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

问题

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

解决

在Fragment所依赖的Activity中执行
如此问题解决

  @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);
        }
    }

猜你喜欢

转载自blog.csdn.net/Life_s/article/details/134464531