MediaStore.Images.Media.getBitmap возвращает ноль для URI - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть следующий метод для поворота изображения, если это необходимо, и это метод расширения для класса Uri

suspend fun Uri.rotateImageIfRequired(ctx: Context): Uri {

    Log.i("AMIRA3333" , "uri2 : " + this)

    val originalBitmap = MediaStore.Images.Media.getBitmap(ctx.contentResolver, this)
    val originalImagePath = this.getPath(ctx)

    val exifInterface = ExifInterface(originalImagePath)
    val orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL)

    return when (orientation) {
        ExifInterface.ORIENTATION_ROTATE_90 -> TransformationUtils.rotateImage(originalBitmap, 90)
        ExifInterface.ORIENTATION_ROTATE_180 -> TransformationUtils.rotateImage(originalBitmap, 180)
        ExifInterface.ORIENTATION_ROTATE_270 -> TransformationUtils.rotateImage(originalBitmap, 270)
        else -> originalBitmap
    }.let {
        GlobalScope.async {
            File(originalImagePath).deleteOnExit()
            Uri.parse(
                MediaStore.Images.Media.insertImage(
                    ctx.contentResolver,
                    it,
                    System.currentTimeMillis().toString(),
                    null
                )
            )
        }.await()
    }
}

, и это пример для моего uri: file: /// storage / emulated / 0/DCIM/IMG_20190219_072926.jpg

всегда возвращается null

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