Как прочитать изображение из URI Mediastore для файла, созданного моим приложением?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как прочитать изображение из URI Mediastore для файла, созданного моим приложением?

Сообщение Anonymous »

У меня есть приложение, в котором я пишу изображение из временного файла/URI в общее хранилище ('/resember/emulate/0/pictures') с использованием ContentResolver:

Код: Выделить всё

def addToMediaStore(): Uri? {
val filename = "image_" + Clock.System.now().format(filenameDateFormat) + ".jpg"
val values = ContentValues()
values.put(MediaStore.Images.Media.IS_PENDING, true)
values.put(MediaStore.MediaColumns.DISPLAY_NAME, filename)
values.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpg")
values.put(
MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_PICTURES + "/MyApplication"
)
values.put(MediaStore.Images.Media.IS_PENDING, 1)
val mediaStoreUri: Uri? =
contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)
if (mediaStoreUri != null) {
copyUri(tempUri, mediaStoreUri)
values.put(MediaStore.Images.Media.IS_PENDING, false)
contentResolver.update(mediaStoreUri, values, null, null)
}
return mediaStoreUri
}
< /code>
Позже я пытаюсь создать растровую карту из того же файла из MediaStore < /p>
val stream = LocalContext.current.contentResolver.openInputStream(mediaStoreUri)
val bm = BitmapFactory.decodeStream(stream)
< /code>
Однако я получаю исключение: < /p>
java.io.FileNotFoundException: No content provider: /external/images/media/1000009242
Интересно, что кажется, что URI, возвращаемый методом ContentResolver , не имеет схемы (то есть отсутствует префикс «Context: //»). Как это в настоящее время общепринятый способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/795 ... -by-my-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»