インテントを介して画像をキャプチャするときに、問題が発生します。
画像のキャプチャにデフォルトのインテントコードを使用しています。次のように。
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PHOTO_CODE);
次のようにonActivityResultで受け取ります。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( TAKE_PHOTO_CODE==requestCode){
try {
Bundle extras = data.getExtras();
Bitmap mImageBitmap = (Bitmap) extras.get("data");
selectedImagePath = saveImageInfo(mImageBitmap, "image");
ExifInterface exif = new ExifInterface(selectedImagePath);
Toast.makeText(getBaseContext()," "+exif.getAttribute(ExifInterface.TAG_ORIENTATION), Toast.LENGTH_SHORT).show();
try {
showDialog(DIALOG_UPLOADING);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "No image selected.. ", Toast.LENGTH_SHORT).show();
}
}
}
このonActivityResultメソッドでキャプチャされた画像の向きが必要です。検索してExifInterfaceを見つけましたが、機能しません。LGOptimus Androidデバイスでテストしていますが、常に0が返されます。
問題は、画像をキャプチャした後、画像が回転することです。解決策はありますか?