Jak załadować obraz Picasa z URI?
używamACTION_PICK
zamiar wybrać obraz z galerii. Niektóre albumy lubią„Posty”, "Zdjęcia profilowe"itp. są oznaczone ikoną Picasa. W przypadku obrazów z takich albumów otrzymuję URI podobny do tego:
content://com.google.android.gallery3d.provider/picasa/item/5769844615871490082
Mogę załadować obraz z tego URI używającContentResolver
iBitmapFactory
bez problemu:
final InputStream ist = context.getContentResolver().openInputStream(intent.getData());
final Bitmap bitmap = BitmapFactory.decodeStream(ist);
Nie mogę jednak załadować obrazu przy użyciu zapisanego identyfikatora URI po ponownym uruchomieniu aplikacji. Dostaję to kiedydecodeStream()
jest nazywany:
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
Próbowałem dodać
<uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/>
do pliku manifestu, ale to nie pomogło.
Myślę, że mój problem jest podobnyten, ale nie ma tam rozwiązania, tylko obejście. Czy można zażądać zezwolenia na dostęp do przechowywanego URI?