Permissions¶
The permissions
element is used to declare all permissions that are necessary for the
project, using one permission
element per permission. It is possible to add conditions
to these elements.
<permissions>
<permission name="INTERNET"/>
<permission name="SEND_SMS"/>
</permissions>
NeoMAD uses the permissions declared in the URS file to automatically add the corresponding permissions in the right file depending on the platform:
- Android: AndroidManifest.xml
- iOS: project Info.plist
Please refer to the Generic API’s JavaDoc to know when a permission is required to use a specific feature.
Table of permissions¶
AGENDA |
Allows an application to access the user’s calendar |
CAMERA |
Allows an application to launch Camera |
DEVICE_STATE |
Allows an application to read some information about device |
EXTERNAL_STORAGE |
Allows an application to read-write files inside external storage space |
FILE |
Allows an application to read-write files |
GET_ACCOUNTS |
Allows an application to access to the list of accounts (Facebook, Google) |
INTERNET |
Allows an application to access the Internet (HTTP requests) |
LOCAL_NOTIFICATION |
Allows an application to broadcast-schedule local notification to the user |
LOCATION |
Allows an application to start Location and access location information |
LOCATION_PROXIMITY |
Allows an application to be notified about proximity location events |
NETWORK_STATE |
Allows an application to know Network state (connected, disconnected…) |
PHONE_CALL |
Allows an application to initiate a phone call |
PHOTO_LIBRARY |
Allows an application to access the user’s photo library |
READ_CONTACTS |
Allows an application to read Contacts from the user address book |
SEND_SMS |
Allows an application to initiate a SMS message |
SENSORS |
Allows an application to read sensors information (accelerometer…) |
VIBRATE |
Allows an application to initiate a device vibration |
WEB_VIEW |
Allows an application to use WebView control and displays web content |
WRITE_CONTACTS |
Allows an application to write contacts or modify them |
Permission usage descriptions¶
In iOS platform, a description is needed in order to say to the end-user why the application needs the permission.
A popup will be displayed by the iOS system in order to ask to the user if he is agree to grant permission and the description will be displayed inside the popup. If the application uses an API that requires a permission but no description is provided, the application will exit. These descriptions should be provided through ``res/string/infos-<LOCALE>.xml``file (instead of URS file) in order to be localized.
List of keys from the res/string/infos.xml
file needed by iOS in order to say why the application needs the permission (descriptions are localized):
AGENDA | agendaPermissionUsage |
CAMERA | cameraPermissionUsage
and microphonePermissionUsage |
LOCATION | locationWhenInUsePermissionUsage
or locationAlwaysPermissionUsage |
PHOTO_LIBRARY | photoLibraryPermissionUsage |
READ_CONTACTS | contactsPermissionUsage |
SENSORS | sensorsPermissionUsage |
For further details see info resource documentation.
Note
If permission usage description is declared without the corresponding URS permission declaration (or vice-versa), NeoMAD will print a warning.