Только в Samsung Mobile изображение можно повернуть при загрузке из галереи - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь загрузить изображение из моего приложения, все отлично работает на всех других устройствах, при попытке загрузить из камеры или галереи, но когда я пытаюсь загрузить изображение из папки gallery-> camera с помощью устройства Samsung Galaxy J6 поворачивается в виде изображения. При попытке загрузить из другой папки все работает нормально, только папка камеры внутри галереи получает эту проблему. Я искал на Google получил какой-то ответ, чтобы использовать exifinterface, но это также не помогло мне. Это не показывает выбранное изображение в моем представлении изображения, это выполняет блок catch. пожалуйста, помогите мне застрять в последние два дня.

вот мой код: -

        if (requestCode == GALLERY) {
        if (data != null) {
            Uri contentURI = data.getData();
            try {

                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), contentURI);
                Bitmap converetdImage = getResizedBitmap(bitmap, 200);
                PreferenceManager.saveStringForKey(myContext, AppConstant.PREFERENCE_TAG.IMAGE, AppConstant.getBase64Image(converetdImage));
                Toast.makeText(myContext, "Image Saved!", Toast.LENGTH_SHORT).show();

                /*ByteArrayOutputStream baos=new ByteArrayOutputStream();
                byte [] b=baos.toByteArray();
                String temp=Base64.encodeToString(b, Base64.DEFAULT);*/

                ExifInterface exif = new ExifInterface(contentURI.toString());
                int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);

                Matrix matrix = new Matrix();
                if (orientation == 6) {
                    matrix.postRotate(90);
                }
                else if (orientation == 3) {
                    matrix.postRotate(180);
                }
                else if (orientation == 8) {
                    matrix.postRotate(270);
                }
               Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);

               // imgProfile.setImageBitmap(bitmap);
                imgProfile.setImageBitmap(rotatedBitmap);
                is_image_change = true;

            } catch (IOException e) {
                e.printStackTrace();
                Toast.makeText(myContext, "Failed!", Toast.LENGTH_SHORT).show();
            }
        }

    }
...