为什么没有摄像头?

时间:2012-08-09 14:45:58

标签: android android-camera actionbarsherlock

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),我已经完成了我能想到的代码。我开始怀疑使用onActivityResultFragment中未调用支持库错误({1}}是否也会影响Activity,但我无法相信ABS休息ActionBarSherlock

我错过了什么?

1 个答案:

答案 0 :(得分:2)

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