我怎样才能收到CameraActivities导致不同的活动(即不是在发动一个)?

StackOverflow https://stackoverflow.com/questions/2435050

  •  19-09-2019
  •  | 
  •  

我有活动A,其通过触发了相机意图:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CAMERA);

在拍摄图像我可以轻松地抓住在图片:

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

但是,我希望收到的结果在活动B,其中图像可以被编辑。 现在我接收活动A的结果并且将它传递到活动乙这导致示出一小会儿活动A的GUI:

Intent i = new Intent().setAction("DisplayJPEG");
i.setClass(this, EditImageActivity.class);
i.putExtra("IMAGE_URI", uri);
startActivityForResult(i, REQUEST_EDIT_IMAGE);

当然,我将需要从在活动A活动B的结果的图像已被编辑之后。但是,应该工作:

setResult(resultCode, data);

因此,必须有一种方法做我需要什么。请点我到正确的方向。

有帮助吗?

解决方案

您是否尝试过推出ActivityB,并在ActivityB OnCreate事件启动相机意图是什么?

其他提示

您在技术上做不到你的要求。你需要找到一种方式继续传递你的方式和隐藏UI还是奔腾说,和周围做它的其他方式。

编辑:没关系,我误解是如何工作的。而实际上,你可以使用活动A启动活动B的结果,但这时如果活动B需要开始活动C到继续处理任何活动A愿意,你可以使用FLAG_ACTIVITY_FORWARD_RESULT使活动ç返回其结果活动A非B


我还没有研究比快速浏览这个更多,但我注意到其根据文档称为FLAG_ACTIVITY_FORWARD_RESULT一个Intent标志:

If set and this intent is being used to launch a new activity from an existing one, then the reply target of the existing activity will be transfered to the new activity. This way the new activity can call setResult(int) and have that result sent back to the reply target of the original activity.

就像我说的,我没有这个实验,但是这似乎表明,你可以从启动活动A相机意图,但有它前进的结果活动B。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top