2012-08-09 77 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时,它都按预期工作。

相关问题