3

从我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()调用。如果我再拍照并接受它,就不叫了。resultCoderequestCodeonActivityResult()

我知道Fragment支持库中存在类似的错误,但我在Fragment和中看到了这个问题Activity

我已经检查过并且我正在调用正确的startActivityForResult()(即 onFragmentActivity),并且我已经在我能想到的所有地方逐步完成了代码。我开始怀疑 Support Library 错误意味着onActivityResult没有被调用是否Fragment也会影响Activity使用时ActionBarSherlock,但我不敢相信 ABS 会中断onActivityResult()

我错过了什么?

4

1 回答 1

2

已在清单Activity中指定。singleInstance我现在知道这与 不兼容,startActivityForResult()Activity更改为singleTop时,一切都按预期工作。

于 2012-08-09T15:26:21.640 回答