Camera2 APIを使用しています。
撮影をした後に画像の向きを取得して、正しい位置に修正したいのですが、うまいやり方が見つかりません。
現在は下記のようにして、向きを修正しています。

public ImageStore(Image image, File file, Context con, int cameraDirec) {
    mImage = image;
    mFile = file;
    this.context = con;
    this.camDirection = cameraDirec;
}

@Override
public void run() {

    Bitmap bmp = null;
    ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
    byte[] bytes = new byte[buffer.remaining()];
    buffer.get(bytes);

    try {
        bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, null);
    }catch (Exception e){
        e.printStackTrace();
    }

    Matrix m;

    if(bmp.getWidth() > bmp.getHeight()) {
        if (camDirection == FRONT_CAMERA) {
            m = new Matrix(); 
            m.setRotate(270);
            bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), m, true);
        } else {
            m = new Matrix(); 
            m.setRotate(90);
            bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), m, true);
        }
    }
}

上記のやり方ですと、機種によってはうまくいかないことがありまして、もし可能なら現在の向きを取得できるようにしたいです。
ExifInterfaceを使用できればと思ったのですが、ファイルに保存しているわけではないせいなのか、うまく取得ができませんでした。

お詳しい方いましたらよろしくお願い致します。

追記
一応無理やりですが自己解決いたしました。
ギャラリーには撮った写真を残したくなかったのですが、Exif情報が欲しかったため、一時的にギャラリーに保存してから、再度ギャラリーから取得して、Exif情報取得しました。
Exif情報を取得できたらギャラリーから画像を削除するという、ちょっと無理やりですが、このような仕様にしました。
引き続き良い方法ありましたらよろしくお願い致します。