从我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()(即 onFragment或Activity),并且我已经在我能想到的所有地方逐步完成了代码。我开始怀疑 Support Library 错误意味着onActivityResult没有被调用是否Fragment也会影响Activity使用时ActionBarSherlock,但我不敢相信 ABS 会中断onActivityResult()。
我错过了什么?