2017-03-13 147 views
1

我有3個片段A,B和C後返回到片段拍照

A - >乙 - 「ç

我打開攝像機從片段Ç採取圖片,當我把它,我點擊確定存儲它,所以它返回到開始片段A像應用程序被關閉,那麼該怎麼做留在我的片段C我打開相機?

Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 
         String root = Utils.getFirstWritableDirectory().toString(); 
         File myDir = new File(root+"/.XXXX_IMAGES"); 

         if(!myDir.exists()) 
          myDir.mkdirs(); 
         File file = new File(myDir+File.separator + time+".jpg"); 
         intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); 
         startActivityForResult(intent, XX); 
+0

如何拍攝片段C中的圖片?通過意圖或自定義相機視圖? –

+0

意圖,你可以看到我的代碼。 – Euphor08

+0

您是否在切換時添加或替換碎片? – AtaerCaner

回答

1

調用使用Intent創建並帶來該攝像機的Activity在你前方的照相機,因此觸發onPause()方法。如果Activity正被殺死以回收內存,則也可能調用onStop()

取決於你如何改變你的碎片A,B和C之間的看法,他們的狀態可能會在onStop()丟失,導致應用程序重置爲片段A,默認的。

要解決,你必須認真執行國家的節能和通過重寫分別爲onRestoreInstanceState()onSaveInstanceState(),恢復(或,這取決於你想如何持續片段是,onCreate()/onStop()),恢復C程序段,如果它確實是最後一個一。

您的ActivityonActivityResult()將在onRestoreInstanceState()之後調用。

+0

我使用onSaveInstanceState從片段傳遞給Activity,然後在Activity上調用onRestoreInstanceState,它現在可以工作! – Euphor08