Android: не могу прочитать файл
Вот мой код:
private Bitmap getBitmap(Uri selectedimg) throws IOException {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 3;
AssetFileDescriptor fileDescriptor = null;
Log.d("selectedimg"," selectedimg = " + selectedimg);
fileDescriptor =
getActivity().getContentResolver().openAssetFileDescriptor(selectedimg, "r");
Bitmap original
= BitmapFactory.decodeFileDescriptor(
fileDescriptor.getFileDescriptor(), null, options);
return original;
}
Я сохраняю растровое изображение после запуска камеры с полученным изображением. Чем я пытаюсь прочитать изображение в растровое изображение. Изображение там и не повреждено.
Я получаю ошибку:
> 08-10 15:26:58.578 26729-26729/com.ebed.scannerod W/System.err: java.io.FileNotFoundException: Permission denied
08-10 15:26:58.578 26729-26729/com.ebed.scannerod W/System.err: at android.os.Parcel.openFileDescriptor(Native Method)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at android.os.ParcelFileDescriptor.openInternal(ParcelFileDescriptor.java:270)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at android.os.ParcelFileDescriptor.open(ParcelFileDescriptor.java:200)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:970)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:898)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at com.scanlibrary.PickImageFragment$override.getBitmap(PickImageFragment.java:159)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at com.scanlibrary.PickImageFragment$override.onActivityResult(PickImageFragment.java:130)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at com.scanlibrary.PickImageFragment$override.access$dispatch(PickImageFragment.java)
08-10 15:26:58.579 26729-26729/com.ebed.scannerod W/System.err: at com.scanlibrary.PickImageFragment.onActivityResult(PickImageFragment.java:0)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.app.Activity.dispatchActivityResult(Activity.java:6537)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.app.ActivityThread.deliverResults(ActivityThread.java:3772)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.app.ActivityThread.handleSendResult(ActivityThread.java:3819)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.app.ActivityThread.access$1400(ActivityThread.java:159)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1433)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
08-10 15:26:58.580 26729-26729/com.ebed.scannerod W/System.err: at android.os.Looper.loop(Looper.java:152)
08-10 15:26:58.581 26729-26729/com.ebed.scannerod W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
08-10 15:26:58.581 26729-26729/com.ebed.scannerod W/System.err: at java.lang.reflect.Method.invoke(Native Method)
08-10 15:26:58.581 26729-26729/com.ebed.scannerod W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
08-10 15:26:58.581 26729-26729/com.ebed.scannerod W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
В нем говорится, что у меня нет разрешения на это, но я объявил все необходимые мне настройки (чтение и запись камеры) в файле манифеста. Я запускаю это API 24.
Я не знаю, что я мог сделать, чтобы решить эту проблему.
Спасибо за ваше время.