Android Permissions (Append or Strictly Include)

  1. SDK Version: 39
  2. Platforms(Android/iOS/web/all): Android only

Hi guys. I read the permissions documentation about Android but there’s something I’m not really sure if I understand correctly.

I just added the Local Authentication feature (biometric and fingerprint) to my existing project. On that feature page, it mentions that on Android, The USE_BIOMETRIC and USE_FINGERPRINT permissions are automatically added.

Right now, this is my app.json because I’m using ImagePicker since a long time (probably since it exists with Expo)

android: {
  ...
  permissions: ["CAMERA", "READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"],
  ...
},

Using the fingerprint feature works well in development. But when I deployed my app on Google Internal testers, the app was crashing. Using Sentry I was able to detect the error and it says that I have to add USE_BIOMETRIC as a permission.

So this is my question. I thought using the Local Authentication feature was automatically adding those permissions but I guess I’m wrong. Can those new permissions be added (appended) to my existing permissions Array? If not, will it appends automatically the good permissions if the Array is empty [] (and so for the ImagePicker too)? And if not, leaving the permissions setting empty, will it add only the necessary permissions along the basic ones or will it adds everything?

In short, is there a way to add only the needed permissions by using Expo features without handling it or is adding them manually in the Array the only way to have this result?

Thanks