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 для изображения