Cómo guardar datos Exif después de copiar mapa de bits en Android

Necesito conseguir la imagen de la tarjeta de sd, crear, girar y guardar la imagen cambiada. Trato de usar este código

Bitmap original = BitmapFactory.decodeFile(file.getAbsolutePath()); ExifInterface originalExif = new ExifInterface(file.getAbsolutePath()); int orientation = originalExif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); Matrix matrix = new Matrix(); int rotate = 90; if(orientation == ExifInterface.ORIENTATION_ROTATE_90){ rotate = 180; }else if(orientation == ExifInterface.ORIENTATION_ROTATE_180){ rotate = 270; }else if(orientation == ExifInterface.ORIENTATION_ROTATE_270){ rotate = 0; } matrix.postRotate(rotate); Bitmap bitmap = Bitmap.createBitmap(original, 0, 0, original.getWidth(), original.getHeight(), matrix, true); try { FileOutputStream out = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } finally { original.recycle(); bitmap.recycle(); } ExifInterface newExif = new ExifInterface(file.getAbsolutePath()); newExif.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(ExifInterface.ORIENTATION_ROTATE_90)); newExif.saveAttributes(); 

Pero no puedo guardar el cambio en ExifInterface. Esto acaba de borrar todas las etiquetas.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.