2013-10-14 126 views
0

所以我是通過一對夫婦的Android相機的例子中,我保持活動屬性onActivityResult

  1. 生成一個文件URI並將其設置爲一個類屬性
  2. 然後調用相機意圖傳遞文件URI工作作爲參數
  3. 處理onActivityResult,然後從文件加載文件顯示保存的圖像URI

我的問題是這樣的:處理時即使在調用攝像機意圖之前設置它,文件URI屬性也是空的。我實施了onSaveInstanceState()方法並將屬性保存到包中,然後加載它onCreate - 這似乎解決了問題。但是,這意味着我的活動onCreate在onActivityResult之前或之後被調用,並且我的屬性正在重置。

由於官方Android示例沒有執行onSaveInstanceState來保存該文件的uri變量,我做錯了什麼?當攝像機意圖觸發onActivityResult時,在原始活動上調用onCreate是否正常?我必須將活動設置爲singleTop或類似的東西嗎?

+0

你能發佈你的代碼嗎? –

回答

0

在我的情況的onCreate不叫來從相機背部,因此該文件(或URI)仍然是良好的,當...

我只能想到兩個或三個可能性:你叫手動完成某處或者您正在測試的設備/仿真器的內存不足並且會導致您的活動中斷,一旦凸輪處於前景中或者您的設備上有一些任務殺手會殺死您的活動...?

因此,onCreate並非至少並非總是如此,如果您想知道,如果您犯了錯誤,我認爲您需要發佈您的代碼。 (儘管看起來好像是一個好主意,無論如何都要像你一樣處理問題)