Возврат неправильно повернутого изображения без ориентации на ограниченные устройства - PullRequest
0 голосов
/ 06 марта 2020

Я работаю над приложением, в котором мы позволяем пользователям делать снимки на своем телефоне для изображения своего профиля. Это прекрасно работает на большинстве телефонов, однако по какой-то причине у нас возникают проблемы с Pixel 2 всех телефонов, отправляющих повернутое изображение без ориентации, определенной Exif.

Вот что у меня есть:

private int IMAGE_CAPTURE = 1234;

public void takePicture() {
  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  startActivityForResult(intent, IMAGE_CAPTURE)
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  if (requestCode == IMAGE_CAPTURE && resultCode = RESULT_OK) {
    try {
      Bundle extras = data.getExtras();
      final Bitmap bmp (Bitmap) extras.get("data");

      Glide.with(this)
        .load(bmp)
        .error(R.drawable.person_no_photo)
        .apply(RequestOptions.circleCropTransform())
        .into(mBinding.ivPerson)

    } catch (Exception e) {
      Log.e(Constants.LOG_TAG, "Couldn't get bitmap from camera")
    }
  }
}

До сих пор я пробовал это решение: { ссылка }, но оно ничего не меняет, поскольку ориентация всегда сообщает как неопределенное.

I ' Мы также пытались просто установить изображение как

mBinding.ivPerson.setImageBitmap(bmp);

вместо скольжения, но изображение все еще поворачивается, поэтому я знаю, что это как-то связано с моим растровым изображением.

Я знаю, что это была ошибка в Android ОС, например, 7-летний go, но они серьезно еще не исправили ее?

Как я могу получить правильно ориентированное растровое изображение из ACTION_IMAGE_CAPTURE, если я не могу получить правильную ориентацию на пикселе 2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...