Ich verwende ACTION_PICK
Absicht, ein Bild aus der Galerie auszuwählen. Einige Alben wie "Posts", "Profilfotos" usw. sind mit dem Picasa-Symbol gekennzeichnet. Für Bilder aus solchen Alben bekomme ich eine URI dieses ähnlich:Wie lade ich ein Picasa-Bild von URI?
content://com.google.android.gallery3d.provider/picasa/item/5769844615871490082
ich ein Bild von diesem URI laden ContentResolver
und BitmapFactory
ohne Probleme mit:
final InputStream ist = context.getContentResolver().openInputStream(intent.getData());
final Bitmap bitmap = BitmapFactory.decodeStream(ist);
Aber ich bin nicht in der Lage zu laden ein Bild, das den gespeicherten URI verwendet, nachdem ich die Anwendung neu gestartet habe. Ich erhalte diese Einstellung, wenn decodeStream()
genannt wird:
03-11 12:34:56.502: A/libc(1172): Fatal signal 11 (SIGSEGV) at 0x00000408 (code=1), thread 1462 03-11 12:34:56.502:
W/ActivityManager(478): Permission Denial: opening provider
com.android.gallery3d.provider.GalleryProvider from
ProcessRecord{41cdd220 1172:com.mycompany.myapp/u0a10085}
(pid=1172, uid=10085) requires
com.google.android.gallery3d.permission.GALLERY_PROVIDER or
com.google.android.gallery3d.permission.GALLERY_PROVIDER
I
<uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/>
auf die Manifest-Datei hinzufügen versucht, aber es hat nicht geholfen.
Ich denke, mein Problem ist ähnlich wie this one, aber keine Lösung gibt es dort, nur ein Workaround. Ist es möglich, eine Berechtigung zum Zugriff auf einen gespeicherten URI anzufordern?
Die Content-URIs Öffnung am ehesten zeitlich begrenzte und nur Arbeiten im Rahmen des ACTION_PICK. Sie müssen das Bild in Ihrer App zwischenspeichern, da es keine Garantie gibt, dass der Inhalt später verfügbar ist. – 323go
ich schwöre im gona in das gleiche Problem, Lieblings wieder – JRowan
Haben Sie eine Lösung dafür gefunden? Ich stehe vor dem gleichen Problem. –