Ustaw orientację obrazu za pomocą interfejsu ExifInterface

setRotation method wCamera.Parameters nie działa we wszystkich urządzeniach. Ktoś sugeruje ręczną zmianęEXIF informacje do rozwiązania problemu. Czy możesz podać mi krótki przykład ustawianiaexif informacje zExifInterface w taki sposób, aby ustawić orientację obrazu jako portret?

private int savePicture(byte[] data)
{
       File pictureFile = getOutputMediaFile();
       if (pictureFile == null)
           return FILE_CREATION_ERROR;

       try {
           FileOutputStream fos = new FileOutputStream(pictureFile);
           fos.write(data);
           fos.close();
       } catch (FileNotFoundException e) {
           return FILE_NOT_FOUND;
       } catch (IOException e) {
           return ACCESSING_FILE_ERROR;
       }

   return OKAY;
}

Próbowałem z tym:

    try {
        ExifInterface exifi = new ExifInterface(pictureFile.getAbsolutePath());
        exifi.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(ExifInterface.ORIENTATION_ROTATE_90));
        exifi.saveAttributes();
    } catch (IOException e) {
        Log.e(TAG, "Exif error");
    }

ale nic się nie zmienia, gdy wizualizuję zdjęcia z galerii Androida.

questionAnswers(3)

yourAnswerToTheQuestion