An Android application generated with GeneXus by default requires all these permissions:
INTERNET, ACCESS_NETWORK_STATE, WRITE_EXTERNAL_STORAGE, ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION, READ_CONTACTS, WRITE_CONTACTS, READ_LOGS
Some of this may not be required in your application. So, if you want to not require them (avoid that customers not install the app because of security or privacy reasons), you can edit and <GeneXus Installation Directory\Android\Templates\AndroidManifest.xml> and comment them.
INTERNET |
Always required |
ACCESS_NETWORK_STATE |
Always required (to know from where to get the data, if from cache or from internet - for example) |
WRITE_EXTERNAL_STORAGE |
Always required (for caching purposes) |
ACCESS_FINE_LOCATION |
Required if Geolocation API or Geolocation Domain is used |
ACCESS_COARSE_LOCATION |
Required if Geolocation API or Geolocation Domain is used |
READ_CONTACTS |
Required if Addressbook API is used to read contacts |
WRITE_CONTACTS |
Required if Addressbook API is used to save contacts |
READ_LOGS |
Optional, for debugging purposes. |
More info about this permissions can be read at
http://developer.android.com/reference/android/Manifest.permission.html
Permission scheme depends on the Android version. As from Android Marshmallow, permissions are solicited one-by-one at runtime, and in previous versions, all grants are requested together at installation time.
