2012-08-09 197 views
2

從我Activity,延伸SherlockFragmentActivity(從優秀ActionBarSherlock庫),我做一個簡單的請求以從攝像頭中的圖像:爲什麼沒有相機結果?

public void getPhoto() { 
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(cameraIntent, CAMERA_REQUEST); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // ..... 
} 

執行時,onActivityResult()被稱爲具有零resultCode(和當相機應用程序打開時(拍攝照片之前)匹配requestCode)。如果我然後拍照並接受它,則不會調用onActivityResult()

我知道支持庫中有Fragment類似的錯誤,但我在FragmentActivity中看到此問題。

我檢查過了,我打電話給startActivityForResult()(即在FragmentActivity),並且我已經遍歷所有我能想到的代碼。我開始懷疑在Fragment中是不是調用onActivityResult這個支持庫bug也不會影響Activity,但我不能相信ABS打破了onActivityResult()

我錯過了什麼?

回答

2

Activity在清單中被指定爲singleInstance。我現在知道這與startActivityForResult()不兼容,並且Activity更改爲singleTop時,它都按預期工作。

相關問題