2016-11-09 53 views
0

我有两项活动结束后显示在屏幕上。 HomeActivity使用意图,旗Intent.FLAG_ACTIVITY_NEW_TASKstartActivityForResult调用CameraActivityCameraActivity有一个打开自定义相机的片段。我给了一个按钮来捕捉图像。如果按钮用户点击,摄像头的捕捉回调被调用,并在onPictureTaken(byte[] data)我用getActivity().finish()并返回到HomeActivity映像文件的路径,并显示在UI它写在图像文件和整理活动数据阵列。定制CameraActivity甚至调用()

现在的问题是:

当我在CameraActivity呼吁从片段getActivity().finish(),它调用的HomeActivityonActivityResult。路径显示在TextView上。日志也从HomeActivity正确打印。但在屏幕上相机运行。每次需要返回按钮才能结束CameraActivity。 假如我捕获图像的一次,但因为屏幕上的相机仍然运行我试图捕捉到它的两倍,控制返回上HomeActivityonActivityResult()不叫了第二次拍摄。

回答

1

正如我用在活性的片段,当配置变化时发生,活动被重新启动和片段的新实例被安装,因为其它继续显示在屏幕上未完成片段。 我通过在配置更改上分离碎片来解决此问题。

4

调试代码。我认为startActivityForResult被称为多次。

+0

不,我在startActivityForResult中打印了日志。这些只打印一次。这是为了第一个电话 –