从片段捕获图像时从不调用onActivityResult [重复]

Posted

技术标签:

【中文标题】从片段捕获图像时从不调用onActivityResult [重复]【英文标题】:onActivityResult never call when Capture image from Fragment [duplicate] 【发布时间】:2019-11-25 22:04:30 【问题描述】:

我在一个 Activity 中有三个片段。在第二个片段中,我调用 Intent 来捕获图像并希望将其保存在同一片段中,但未调用 onActivityResult() 方法。

【问题讨论】:

在活动中也有覆盖 onActivityResult() 吗?同时显示代码。 【参考方案1】:

就在你的MainActivity 写下这个:

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 

         YourFragment fragment = new YourFragment();

        fragment.onActivityResult(100, resultCode, data);

    

当您的片段中有startActivityForResult(intent, 100); 上面的代码有效!

在你的片段onActivityResult 中你应该做你想做的事。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) 
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 100) 
        if (resultCode == RESULT_OK && data != null) 
            //do something here..
        
    


【讨论】:

在父Activity中获取onActivityResult(65637, -1, data) java.lang.RuntimeException: 将结果 ResultInfowho=null, request=65637, result=-1, data=Intent act=inline-data (has extras) 传递给活动 com.example.isystem/com.example.isystem.MainActivity:java.lang.NullPointerException:尝试获取空数组的长度 当你的片段中有startActivityForResult(intent, 100);上面的代码工作!在你的片段onActivityResult 你应该做你想做的事。 ( if (requestCode == 100) if (resultCode == RESULT_OK && data != null) //在这里做点什么) 我完成了我的答案..试试吧 请在您的问题中显示代码

以上是关于从片段捕获图像时从不调用onActivityResult [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Android:在捕获或从图库中挑选后裁剪图像

如何在片段中从相机捕获图像,

onActivityResult 不会从 viewPager 片段调用

使用片段从图库中选择图像

从活动中调用相机,捕获图像并上传到服务器

OnActivityResult未在活动的片段中调用