Help understanding if can remove permissions on Android

In my app, I only need to:

  • Read from FileSystem.documentDirectory
  • Get location on button tap to do a search
  • Camera for qr code scanning
  • Push notifications

However my app permissions after submitting to store is quite large:

I want to remove the following:

  • “Modify or delete SD card contents.”
  • “read the contents of your shared storage” (Do I need this to read from FileSystem.documentDirectory? Will it still sync between old device and new device?)
  • “run foreground service” (I do need to request permission, only when user taps “Search with current location” in my app, but I don’t this for that right?)
  • “This app can appear on top of other apps”
  • “run at startup”
  • “Read badge notifications”
  • “view network connections” (I don’t think react-native-netinfo needs this just to check if online - GitHub - react-native-netinfo/react-native-netinfo: React Native Network Info API for Android & iOS )
  • “prevent tablet from sleeping”
  • “read Google service configuration”
  • “have full network access”
  • “Play Install Referrer API”
  • “activity recognition”

To do this I wanted to add these to android.blockedPermissions in app.json:

"android": {
  "blockedPermissions": [
    "android.permission.READ_EXTERNAL_STORAGE",
    "android.permission.WRITE_EXTERNAL_STORAGE",
    "android.permission.FOREGROUND_SERVICE",
    "android.permission.SYSTEM_ALERT_WINDOW",
    "android.permission.RECEIVE_BOOT_COMPLETED",
    "android.permission.POST_NOTIFICATIONS",
    "android.permission.WAKE_LOCK",
    "com.google.android.gms.permission.ACTIVITY_RECOGNITION",
    "com.sec.android.provider.badge.permission.READ",
    "com.google.android.providers.gsf.permission.READ_GSERVICES",
    "com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"
  ]
},

Do you think the above is safe?