1

インテントを使用して、Android 2.1 の組み込みカメラ アプリケーションを呼び出しました。次のコードを使用しました。

Intent cameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory(), "MyTestFile.jpg");
cameraintent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
outputFileUri = Uri.fromFile(file);
startActivityForResult(cameraintent, CAMERA_PIC_REQUEST);

キャプチャした画像の向きを取得するために、次のコードを使用しました。

Uri capturedImage = outputFileUri;
Bitmap theBmp = MediaStore.Images.Media.getBitmap(getContentResolver(), capturedImage);
int img_orient=0;                       
String[] projection = { MediaStore.Images.Media.ORIENTATION };
Cursor mImageCursor = managedQuery(capturedImage, projection, null, null, null);

mImageCursorカーソルが常に nullであるため、キャプチャした写真の向きを取得できません。私のコードの問題は何ですか?

4

1 に答える 1

0

ExifInterface クラスを使用して、代わりに情報を読み取ってみることができます。または、写真に何もない可能性が非常に高いです。一部のデバイスでは、向きを設定せずに写真を回転して保存します。

于 2011-05-25T13:15:05.213 に答える