0

デバイスのルートにファイルを作成しようとするカメラ インテントを設定しました。

File storagePath = new File(Environment.getExternalStorageDirectory()+ "/Football_Fans");
storagePath.mkdirs();
File file = new File(storagePath, "FAN_IMAGE_TEMP");                                

Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);            

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, storagePath);
startActivityForResult(cameraIntent,CAMERA_REQUEST_IMAGE);

アプリケーションを実行すると、activityOnResult が設定されていませんが、fileExplorer を使用してファイルが作成されたかどうかを確認します。フォルダは正常に作成されますが、写真が表示されません。理由はありますか?

ドキュメントには、EXTRA_OUTPUTが設定されている場合、その場所に書き込むと記載されています。だから、なぜそれが機能しないのか混乱しています。

呼び出し元は、このイメージが書き込まれる場所を制御するために、追加の EXTRA_OUTPUT を渡すことができます。EXTRA_OUTPUT が存在しない場合、小さいサイズの画像がビットマップ オブジェクトとして extra フィールドに返されます。これは、小さな画像のみが必要なアプリケーションに役立ちます。EXTRA_OUTPUT が存在する場合、フルサイズの画像が EXTRA_OUTPUT の Uri 値に書き込まれます。

4

2 に答える 2

3

ウリを使用。これを試して

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(storagePath));
于 2013-07-25T01:10:00.793 に答える
1

"..will be written to the Uri value of EXTRA_OUTPUT."

You are passing in a File object (storagePath). It expects a Uri so use this:

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(storagePath));
于 2013-07-25T01:07:42.013 に答える