12

ACTION_PICKギャラリーから画像を選択する意図を使用しています。「投稿」「プロフィール写真」などの一部のアルバムには、Picasa アイコンが付いています。そのようなアルバムの画像の場合、次のような URI を取得します。

content://com.google.android.gallery3d.provider/picasa/item/5769844615871490082

問題なく、この URI から画像を読み込むことができますContentResolverBitmapFactory

final InputStream ist = context.getContentResolver().openInputStream(intent.getData());
final Bitmap bitmap = BitmapFactory.decodeStream(ist);

しかし、アプリケーションを再起動した後、保存された URI を使用して画像を読み込むことができません。decodeStream()が呼び出されたときにこれを取得しています:

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

追加してみました

<uses-permission android:name="com.google.android.gallery3d.permission.GALLERY_PROVIDER"/>

マニフェストファイルに追加しましたが、役に立ちませんでした。

私の問題はこれに似ていると思います、そこには解決策はなく、回避策のみが示されています。保存された URI へのアクセス許可を要求することはできますか?

4

1 に答える 1