Skip to content

Is it normal behaviour picking the files without declaring Storage permission #680

@ghost

Description

Bug report

Summary

I have got a requirement in my new app to upload docs. I found this app pretty cool to upload docs and i did a POC as well. But I am able to pick all type of files(including media files like, Audio, Images and Video) with out any Storage permission. I tired in real devices from Android 9 to Android 13. I have neither mentioned storage permissions in androidmanifest.xml nor requested permissions.

I am able to pic files from all the folders like Documents, Downloads, Music, DCIM, Ringtones, Recordings, Other app's folders like whatsapp, Twitter ect..

Reproducible sample code

I do not have much code except what mentioned in the docs

let result = await DocumentPicker.pick({
    type: [DocumentPicker.types.allFiles]
});

Steps to reproduce

Run the above mentioned code in android version from Android 9 to Android 13

Describe what you expected to happen:

Storage Permission to be taken from user since we are picking files(including media files) across the storage.

Environment info

System:
    OS: macOS 13.3.1
    CPU: (8) x64 Apple M1
    Memory: 37.92 MB / 8.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 14.0.0 - /usr/local/bin/node
    Yarn: Not Found
    npm: 6.14.4 - /usr/local/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.12.1 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
    Android SDK: Not Found
  IDEs:
    Android Studio: 2022.2 AI-222.4459.24.2221.10121639
    Xcode: 14.3/14E222b - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.19 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0 
    react-native: 0.71.3 => 0.71.3 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

library version: 9.0.1

Android version: I tried in Android 9, 10, 11, 12, 13. Same behaviour in all devices.

I am under an assumption that this package is built in such a way that it can access all type of files without any permissions like default files app in Android devices.

Please correct me If I am wrong. If package creator confirms that this library doesn't require Storage permission across all the Android versions(At least as of Android 13) I can confidently proceed to Production.

Thank you for the cool package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions