2016-11-09 56 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中打印了日誌。這些只打印一次。這是爲了第一個電話 –