Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APP CRASHES: requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() #100

Closed
arnold-parge opened this issue Jun 21, 2019 · 4 comments

Comments

@arnold-parge
Copy link

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!
@miguelpruivo
Copy link
Owner

miguelpruivo commented Jun 21, 2019

Hi, can you try to use file_picker: 1.3.5 instead and see if it’s working for you?

Thank you.

@miguelpruivo
Copy link
Owner

@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.

@arnold-parge
Copy link
Author

Putting specific version file_picker: 1.3.5 works. You may need to rollback.
Thanks @miguelpruivo

@miguelpruivo
Copy link
Owner

Fixed in 1.3.7.

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants