Wie lese ich ein Bild von einem Mediastore -URI für eine von meiner App erstellte Datei?Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Wie lese ich ein Bild von einem Mediastore -URI für eine von meiner App erstellte Datei?

Post by Anonymous »

Ich habe eine Anwendung, in der ich ein Bild von einer TEMP -Datei/URI zum freigegebenen Speicher schreibe ('/storate/emuled/0/pictures') mit ContentResolver:

Code: Select all

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>
Später versuche ich, eine Bitmap aus derselben Datei aus dem Mediastore < /p>
zu erstellenval stream = LocalContext.current.contentResolver.openInputStream(mediaStoreUri)
val bm = BitmapFactory.decodeStream(stream)
< /code>
Ich erhalte jedoch die Ausnahme: < /p>
java.io.FileNotFoundException: No content provider: /external/images/media/1000009242
Interessanterweise scheint es, als hätte die von der ContentResolver -Einfügung zurückgegebene URI kein Schema (d. H. Fehlen des "Kontextes: //") Präfix. Wie ist der aktuell akzeptierte Weg, dies zu tun?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post