1

インテントを使用する 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結果が得られません。

何が問題なのですか?

4

1 に答える 1

5

RESULT_OK の requestCode をチェックしています

if (requestCode == Activity.RESULT_OK) 

resultCode をチェックする必要がある場合

if (resultCode == Activity.RESULT_OK) 
于 2012-09-13T17:05:32.730 に答える