Error says requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission(), I added <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />, yet I get the same error.
Full stack:
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Built build/app/outputs/apk/debug/app-debug.apk.
D/EGL_emulation(10095): eglMakeCurrent: 0xdea05420: ver 2 0 (tinfo 0xdea03380)
D/EGL_emulation(10095): eglMakeCurrent: 0xdca3a0c0: ver 2 0 (tinfo 0xdcfeb330)
I/FilePicker(10095): [SingleFilePick] File URI:content://com.android.providers.media.documents/document/image%3A91
E/FilePickerUtils(10095): Getting for API 19 or abovecontent://com.android.providers.media.documents/document/image%3A91
E/FilePickerUtils(10095): Document URI
E/FilePickerUtils(10095): Media Document URI
I/FilePickerUtils(10095): Image Media Document URI
D/AndroidRuntime(10095): Shutting down VM
E/AndroidRuntime(10095): FATAL EXCEPTION: main
E/AndroidRuntime(10095): Process: com.my.package, PID: 10095
E/AndroidRuntime(10095): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=38519, result=-1, data=Intent { dat=content://com.android.providers.media.documents/document/image:91 flg=0x1 }} to activity {com.my.package/com.my.package.MainActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=10095, uid=10086 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
E/AndroidRuntime(10095): at android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
E/AndroidRuntime(10095): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
E/AndroidRuntime(10095): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime(10095): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(10095): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(10095): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime(10095): at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(10095): at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(10095): at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(10095): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(10095): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(10095): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(10095): Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=10095, uid=10086 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
E/AndroidRuntime(10095): at android.os.Parcel.createException(Parcel.java:1942)
E/AndroidRuntime(10095): at android.os.Parcel.readException(Parcel.java:1910)
E/AndroidRuntime(10095): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
E/AndroidRuntime(10095): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
E/AndroidRuntime(10095): at android.content.ContentProviderProxy.query(ContentProviderNative.java:418)
E/AndroidRuntime(10095): at android.content.ContentResolver.query(ContentResolver.java:802)
E/AndroidRuntime(10095): at android.content.ContentResolver.query(ContentResolver.java:752)
E/AndroidRuntime(10095): at android.content.ContentResolver.query(ContentResolver.java:710)
E/AndroidRuntime(10095): at com.mr.flutter.plugin.filepicker.FileUtils.getDataColumn(FileUtils.java:131)
E/AndroidRuntime(10095): at com.mr.flutter.plugin.filepicker.FileUtils.getForApi19(FileUtils.java:108)
E/AndroidRuntime(10095): at com.mr.flutter.plugin.filepicker.FileUtils.getPath(FileUtils.java:33)
E/AndroidRuntime(10095): at com.mr.flutter.plugin.filepicker.FilePickerPlugin$1.onActivityResult(FilePickerPlugin.java:78)
E/AndroidRuntime(10095): at io.flutter.app.FlutterPluginRegistry.onActivityResult(FlutterPluginRegistry.java:222)
E/AndroidRuntime(10095): at io.flutter.app.FlutterActivityDelegate.onActivityResult(FlutterActivityDelegate.java:142)
E/AndroidRuntime(10095): at io.flutter.app.FlutterActivity.onActivityResult(FlutterActivity.java:142)
E/AndroidRuntime(10095): at android.app.Activity.dispatchActivityResult(Activity.java:7454)
E/AndroidRuntime(10095): at android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
E/AndroidRuntime(10095): ... 11 more
I/Process (10095): Sending signal. PID: 10095 SIG: 9
Lost connection to device.
Exited (sigterm)
Flutter doctor:
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Linux, locale en_IN)
• Flutter version 1.5.4-hotfix.2 at /home/arnold/flutter
• Framework revision 7a4c33425d (8 weeks ago), 2019-04-29 11:05:24 -0700
• Engine revision 52c7a1e849
• Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /home/arnold/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling
support)
• Platform android-28, build-tools 28.0.3
• ANDROID_HOME = /home/arnold/Android/Sdk
• ANDROID_SDK_ROOT = /home/arnold/Android/Sdk
• Java binary at: /home/arnold/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build
1.8.0_152-release-1248-b01)
• All Android licenses accepted.
[✓] Android Studio (version 3.3)
• Android Studio at /home/arnold/android-studio
• Flutter plugin version 33.4.1
• Dart plugin version 182.5215
• Java version OpenJDK Runtime Environment (build
1.8.0_152-release-1248-b01)
[✓] VS Code (version 1.32.3)
• VS Code at /usr/share/code
• Flutter extension version 2.25.1
[✓] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API
28) (emulator)
• No issues found!
Hi, can you try to use file_picker: 1.3.5 instead and see if it’s working for you?
Thank you.
@arnold-parge please let me know if it worked for you because if so, I may have to rollback a commit and add the runtime read external storage permissions again.
Thank you.
Putting specific version file_picker: 1.3.5 works. You may need to rollback.
Thanks @miguelpruivo
Fixed in 1.3.7.
Thank you.
Most helpful comment
Hi, can you try to use
file_picker: 1.3.5instead and see if it’s working for you?Thank you.