前言
最近在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);
}
}