Android Nexus 4 выдает ошибку вроде java.lang.SecurityException: разрешение доступа

Проблема только с Android Nexus 4, OS 4.2

Получение изображений из Media Gallery с использованием пути к контенту дает ошибку только в Nexus 4.

Путь к контенту такой: content://com.google.android.gallery3d.provider/picasa/item/itemID

Ошибка:

    java.lang.SecurityException: Permission Denial: opening provider
com.android.gallery3d.provider.GalleryProvider from ProcessRecord{658fa748 
4598:com.backlotauctions/u0a739} (pid=4598, uid=10739) requires 
com.google.android.gallery3d.permission.GALLERY_PROVIDER or 
com.google.android.gallery3d.permission.GALLERY_PROVIDER

Мой код:

InputStream is = null;
is = mActivity.getContentResolver().openInputStream(Uri.parse(ImagePath));
OutputStream os = new FileOutputStream(f);
Utils.CopyStream(is, os);
os.close();

Эта ошибка произошла, когда Resolver содержимого openInputStream() использует путь к изображению.

1 ответ

Решение

У меня была такая же проблема некоторое время назад. см мой вопрос здесь

Исключение безопасности при попытке доступа к образу Picasa на устройстве под управлением 4.2

Кажется, вы не можете удерживать URI изображений Picasa и просто извлекать изображение из URI каждый раз, вы можете использовать URI только один раз.

в основном то, что я в итоге делал, это сохранение изображения локально в первый раз и использование этого URI для изображения

Другие вопросы по тегам