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.

Я не знаю, что я мог сделать, чтобы решить эту проблему.

Спасибо за ваше время.

0 ответов

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