Reputation: 1051
I've uploaded a React Native app built in via Expo. I've set permissions to none:
{
"expo": {
"android": {
"permissions": []
... other settings
}
... other settings
}
And I've set it to portrait mode only:
{
"expo": {
"orientation": "portrait",
... other settings
}
}
But when I upload the app-bundle to the PLayConsole it lists the app with 15 permissions:
android.permission.ACCESS_NETWORK_STATE android.permission.ACCESS_WIFI_STATE android.permission.FOREGROUND_SERVICE android.permission.INTERNET android.permission.MODIFY_AUDIO_SETTINGS android.permission.RECEIVE_BOOT_COMPLETED android.permission.REQUEST_INSTALL_PACKAGES android.permission.STORAGE android.permission.SYSTEM_ALERT_WINDOW android.permission.USE_BIOMETRIC android.permission.WAKE_LOCK com.google.android.c2dm.permission.RECEIVE com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE com.sja.firstaid.permission.C2D_MESSAGE host.exp.exponent.permission.C2D_MESSAGE
and both orientations under features:
2 features: android.hardware.screen.landscape, android.hardware.screen.portrait
I cannot identify a reason for either of these settings to be ignored.
Upvotes: 5
Views: 925
Reputation: 25343
Note: permissions key appear to ignore permission instead of add permission list Docs
List of additional permissions the standalone app will request upon installation, along with the minimum necessary for an Expo app to function.
To use ALL permissions supported by Expo, do not specify the "permissions" key.
To use ONLY the following minimum necessary permissions and none of the extras supported
by Expo, set "permissions" to []. The minimum necessary permissions do not require a
Privacy Policy when uploading to Google Play Store and are:
• receive data from Internet
• view network connections
• full network access
• change your audio settings
• draw over other apps
• prevent device from sleeping
To use the minimum necessary permissions ALONG with certain additional permissions,
specify those extras in "permissions", e.g.
["CAMERA", "RECORD_AUDIO"]
ExpoKit: to change the permissions your app requests, you'll need to edit
AndroidManifest.xml manually. To prevent your app from requesting one of the
permissions listed below, you'll need to explicitly add it to `AndroidManifest.xml`
along with a `tools:node="remove"` tag.
"permissions": [
"ACCESS_COARSE_LOCATION",
"ACCESS_FINE_LOCATION",
"CAMERA",
"MANAGE_DOCUMENTS",
"READ_CONTACTS",
"READ_CALENDAR",
"WRITE_CALENDAR",
"READ_EXTERNAL_STORAGE",
"READ_PHONE_STATE",
"RECORD_AUDIO",
"USE_FINGERPRINT",
"VIBRATE",
"WAKE_LOCK",
"WRITE_EXTERNAL_STORAGE",
"com.anddoes.launcher.permission.UPDATE_COUNT",
"com.android.launcher.permission.INSTALL_SHORTCUT",
"com.google.android.c2dm.permission.RECEIVE",
"com.google.android.gms.permission.ACTIVITY_RECOGNITION",
"com.google.android.providers.gsf.permission.READ_GSERVICES",
"com.htc.launcher.permission.READ_SETTINGS",
"com.htc.launcher.permission.UPDATE_SHORTCUT",
"com.majeur.launcher.permission.UPDATE_BADGE",
"com.sec.android.provider.badge.permission.READ",
"com.sec.android.provider.badge.permission.WRITE",
"com.sonyericsson.home.permission.BROADCAST_BADGE"
],
Upvotes: 1