我有一个使用意图的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
结果。
那里有什么问题?
答案 0 :(得分:5)
您正在检查RESULT_OK的requestCode
if (requestCode == Activity.RESULT_OK)
何时应该检查resultCode
if (resultCode == Activity.RESULT_OK)