在我的Android应用程序中拍照时,我从未得到RESULT_OK,但图片就在那里

时间:2012-09-13 17:01:24

标签: android

我有一个使用意图的Android应用程序。这是代码:

private static final int CAPTURE_IMAGE= 1;
[...]
Uri imageUri = helper.createImageDestinationUri(null, filename);
[...]
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, CAPTURE_IMAGE);

然后我在这里得到结果:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAPTURE_IMAGE) {
        if (requestCode == Activity.RESULT_OK) {

            Toast.makeText(this, "Image saved to:\n" +
                    data.getData(), Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_SHORT).show();
        }
    }
}

我拥有所需的所有权限。

奇怪的事情: 最后,图片总是在我的SD卡上,但我从未得到RESULT_OK结果。

那里有什么问题?

1 个答案:

答案 0 :(得分:5)

您正在检查RESULT_OK的requestCode

if (requestCode == Activity.RESULT_OK) 

何时应该检查resultCode

if (resultCode == Activity.RESULT_OK)