Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Log in

PAGE DISCUSSION READ VIEW SOURCE VIEW HISTORY Search RAD Studio

RAD Studio 10.3 Rio

Topics
Libraries Reference
Uses Permissions
Code Examples

RAD Studio 10.3 Topics Go Up to Application Options

Project > Options > Application > Uses Permissions


What's New
Tutorials Use this dialog box to specify the permissions that yourAndroid application requires to work. RAD Studio adds the Contents [hide] 
permissions you specify in the AndroidManifest.xml le. 1 Some Basic Android Permissions are Set for All FireMonkey Android Apps
FireMonkey Application
Platform 1.1 INTERNET Permission Is Always Set for the Development Con guration
Caution: Carefully review the list of permissions that are con gured for your Android application. You should disable
2 Dialog Box Field Descriptions
Multi-Device Applications permissions that your application does not need, because:
2.1 Uses Permissions
Getting Started Android devices prompt your users to accept every requested permission when they run your application for the rst 2.1.1 Normal Uses Permissions
time. 2.1.2 Dangerous Uses Permissions
Steps in Developing a Project
Application stores such as Google Play may use permissions to lter out applications. 2.1.3 Signature Uses Permissions
Key Application Types
For example, if your application requires the Call phone permission (which is required by default), application stores 3 See Also
FireDAC might not let users install your application on tablets.
Windows Developer's Guide
For example:
Modeling Tools
InterBase requires certain permissions:
IDE Reference and Utilities
Internet: Allows applications to access network sockets. If you are building Client/Server apps accessing remote InterBase databases, this permission is a must-have. This permission is also
Delphi Reference required by InterBase "call home" silent license registration.
C++ Reference Read external storage/Write external storage: Allows access to the external storage location where InterBase les, including your database les, are delivered. This permission is required for
applications to perform read/write operations.
Subject Index
Some FireMonkey components require certain permissions. For example:
In Other Languages
TCalendarEdit requires Read calendar and Write calendar permissions.
Deutsch TLocationSensor requires Access coarse location and Access ne location permissions.
Français
⽇本語 Some Basic Android Permissions are Set for All FireMonkey Android Apps
Previous Versions
New Android applications have the following required permissions set by default:
Tokyo Topics
Access coarse location
Older Versions Access ne location

Assistance Call phone


Camera
Recent changes
Internet
Tools Read calendar
What links here Read external storage
Read phone state
Related changes
Write calendar
Special pages
Write external storage
Printable version
Permanent link INTERNET Permission Is Always Set for the Development Configuration
Page information Your Android apps have several Uses Permissions that are set by default, including the INTERNET permission.

When you build an Android app with the Con guration set to Development (in the Projects Window), the INTERNET permission is always implicitly set, even if you disable the INTERNET permission on
Uses Permissions. This is because the RAD Studio debugger requires the INTERNET permission.
For the Application Store con guration, however, you can disable the INTERNET permission using Project > Options > Uses Permissions.

Here is the Projects Window with the Development con guration node set for an Android app:

Dialog Box Field Descriptions


Options Description

Target, Apply, Save See Target Options.

Common items See Common Items on Project Options Pages.

Uses Permissions
The following uses permissions can be used as required for most Android applications. Some of the most commonly used basic permissions are preset by RAD Studio when you create an Android app.

Normal Uses Permissions

Permission Description

Access location extra commands Allows an application to access extra location provider commands.

Access network state Allows applications to access information about networks.

Access noti cation policy Marker permission for applications that wish to access noti cation policy.

Access wi state Allows applications to access information about Wi-Fi networks.

Battery stats Allows an application to collect battery statistics.

Bluetooth Allows applications to connect to paired Bluetooth devices.

Bluetooth admin Allows applications to discover and pair Bluetooth devices.

Allows an application to broadcast sticky intents. These are broadcasts whose data is held by the system after being nished, so that clients can quickly retrieve
Broadcast sticky
that data without having to wait for the next broadcast.

Change con guration Allows an application to modify the current con guration, such as locale.

Change network state Allows applications to change network connectivity state.

Change wi multicast state Allows applications to enter Wi-Fi Multicast mode.

Change wi state Allows applications to change Wi-Fi connectivity state.

Disable keyguard Allows applications to disable the keyguard.

Expand status bar Allows an application to expand or collapse the status bar.

Flashlight Allows access to the ashlight.

Foreground service Allows an instant app to create foreground services.

Get package size Allows an application to nd out the space used by any package.

Get tasks Allows an application to get information about the currently or recently running tasks.

Allows the global search system to access the data of speci c content providers. Typically Global search is used when the provider has some permissions
protecting it (which global search would not be expected to hold), and is added as a read-only permission to the path in the provider where global search
Global search
queries are performed. The Global search permission cannot be held by regular applications; it is used by applications to protect themselves from all other
applications except for global search.

Allows an application to install a shortcut in Launcher.


Install shortcut In Android O (API level 26) and higher, the INSTALL_SHORTCUT broadcast no longer has any e ect on your app because it's a private, implicit broadcast. Instead,
you should create an app shortcut by using the requestPinShortcut() method from the ShortcutManager class.

Instant app foreground service Allows an instant app to create foreground services.

Internet Allows applications to open network sockets.

Kill background processes Allows an application to call killBackgroundProcesses(String).

Manage own calls Allows a calling application which manages it own calls through the self-managed ConnectionService APIs.

Modify audio settings Allows an application to modify global audio settings.

NFC Allows applications to perform I/O operations over NFC.

NFC transaction event Allows applications to receive NFC transaction events.

Allows an application to collect component usage statistics


Package usage stats
Declaring the permission implies intention to use the API and the user of the device can grant permission through the Settings application.

Read GServices

Read sync settings Allows applications to read the sync settings.

Read sync stats Allows applications to read the sync stats.

Receive boot completed Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system nishes booting.

Reorder tasks Allows an application to change the Z-order of tasks.

Request companion run in


Allows a companion app to run in the background.
background

Request companion use data in


Allows a companion app to use data in the background.
background

Allows an application to request deleting packages. Apps targeting APIs Build.VERSION_CODES.P or greater must hold this permission in order to use
Request delete packages
Intent.ACTION_UNINSTALL_PACKAGE or PackageInstaller.uninstall(VersionedPackage, IntentSender).

Permission an application must hold in order to use Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS. This is a normal permission: an app
Request ignore battery optimizations
requesting it will always be granted the permission, without the user needing to approve or see it.

Set alarm Allows an application to broadcast an Intent to set an alarm for the user.

Set wallpaper Allows applications to set the wallpaper.

Set wallpaper hints Allows applications to set the wallpaper hints.

Subscribed feeds read Allows an application to allow access the subscribed feeds ContentProvider.

Transmit IR Allows using the device's IR transmitter, if available.

Use biometric Allows an app to use device supported biometric modalities.

Use ngerprint Allows an app to use ngerprint hardware.

Vending billing (In-app Billing) Allows using the In-app Billing service. See the Android documentation for additional information.

Vibrate Allows access to the vibrator.

Wake lock Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.

Write sync settings Allows applications to write the sync settings.

Write user dictionary Allows an application to write to the user dictionary.

The documentation in the Description column of the table above is licensed under Apache 2.0 . Copyright © Android Open Source Project.

Dangerous Uses Permissions

The following uses permissions require runtime user approval.

Permission Description

Access coarse location Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.

Access ne location Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.

Access mock location Allows an application to create mock location providers for testing.

Add voicemail Allows an application to add voicemails into the system.

Answer phonecalls Allows the app to answer an incoming phone call.

Authenticate accounts Allows an application to act as an AccountAuthenticator for the AccountManager.

Body sensors Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.

Call phone Allows an application to initiate a phone call without going through the Dialer user interface for the user to con rm the call being placed.

Camera Required to be able to access the camera device.

Allows a calling app to continue a call which was started in another app. An example is a video calling app that wants to continue a voice call on the user's
Continue a call started in another app
mobile network.

Get accounts Allows access to the list of accounts in the Accounts Service.

Manage accounts Allows an application to manage the list of accounts in the AccountManager.

Process outgoing calls Allows an application to monitor, modify, or abort outgoing calls.

Read calendar Allows an application to read the user calendar data.

Read call log Allows an application to read the user call log.

Read contacts Allows an application to read the user contacts data.

Read external storage Allows an application to read from external storage.

Read history bookmarks Allows an application to read (but not write) the user browsing history and bookmarks.

Read phone numbers Allows read access to the device's phone number(s). This is a subset of the capabilities granted by READ_PHONE_STATE but is exposed to instant applications.

Read phone state Allows read only access to phone state.

Read pro le Allows an application to read the user personal pro le data.

Read SMS Allows an application to read SMS messages.

Read social stream Allows an application to read from the user social stream.

Read user dictionary Allows an application to read the user dictionary.

Receive boot completed Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system nishes booting.

Receive mms Allows an application to monitor incoming MMS messages, to record or perform processing on them.

Receive sms Allows an application to monitor incoming SMS messages, to record or perform processing on them.

Receive WAP push Allows an application to monitor incoming WAP push messages.

Record audio Allows an application to record audio.

Send SMS Allows an application to send SMS messages.

Subscribed feeds write Allows an application to allow write the subscribed feeds ContentProvider.

Don't use this permission in your app.


Uninstall shortcut
This permission is no longer supported.

Use credentials Allows an application to request authtokens from the AccountManager.

Use SIP Allows an application to use SIP service.

Write calendar Allows an application to write (but not read) the user calendar data.

Write call log Allows an application to write (but not read) the user contacts data.

Write contacts Allows an application to write (but not read) the user contacts data.

Write external storage Allows an application to write to external storage.

Write history bookmarks Allows an application to write (but not read) the user browsing history and bookmarks.

Write pro le Allows an application to write (but not read) the user personal pro le data.

Write SMS Allows an application to write SMS messages.

Write social stream Allows an application to write (but not read) the user social stream data.

The documentation in the Description column of the table above is licensed under Apache 2.0 . Copyright © Android Open Source Project.

Signature Uses Permissions

The following uses permissions require a matching certi cate.

Permission Description

Bind accessibility service Must be required by an AccessibilityService, to ensure that only the system can bind to it.

Bind auto ll service Must be required by a Auto llService, to ensure that only the system can bind to it.

Bind call screening service Must be required by a CallScreeningService, to ensure that only the system can bind to it.

This constant was deprecated in API level 23.


Bind carrier messaging service
Use BIND_CARRIER_SERVICES instead.

The system process that is allowed to bind to services in carrier apps will have this permission. Carrier apps should use this permission to protect their services
Bind carrier service
that only the system is allowed to bind to.

Bind chooser target service Must be required by a ChooserTargetService, to ensure that only the system can bind to it.

Bind condition provider service Must be required by a ConditionProviderService, to ensure that only the system can bind to it.

Bind device admin Must be required by device administration receiver, to ensure that only the system can interact with it.

Bind dream service Must be required by an DreamService, to ensure that only the system can bind to it.

Bind in-call service Must be required by a InCallService, to ensure that only the system can bind to it.

Bind input method Must be required by an InputMethodService, to ensure that only the system can bind to it.

Bind MIDI device service Must be required by an MidiDeviceService, to ensure that only the system can bind to it.

Bind NFC service Must be required by a HostApduService or O HostApduService to ensure that only the system can bind to it.

Bind noti cation listener service Must be required by an Noti cationListenerService, to ensure that only the system can bind to it.

Bind print service Must be required by a PrintService, to ensure that only the system can bind to it.

Allows an application to bind to third party quick settings tiles.


Bind Quick Settings tile
Should only be requested by the System, should be required by TileService declarations.

Bind remoteviews Must be required by a RemoteViewsService, to ensure that only the system can bind to it.

Bind telecom connection service Must be required by a ConnectionService, to ensure that only the system can bind to it.

Bind text service Must be required by a TextService.

Bind TV input Must be required by a TvInputService to ensure that only the system can bind to it.

Bind visual voicemail service Must be required by a link VisualVoicemailService to ensure that only the system can bind to it.

Bind voice interaction Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.

Bind VPN service Must be required by an VpnService, to ensure that only the system can bind to it.

Bind VR listener service Must be required by an VrListenerService, to ensure that only the system can bind to it.

Bind wallpaper Must be required by a WallpaperService, to ensure that only the system can bind to it.

Clear app cache Allows an application to clear the caches of all installed applications on the device.

Allows an application to manage access to documents, usually as part of a document picker.


Manage documents
This permission should only be requested by the platform document management app. This permission cannot be granted to third-party apps.

Read voicemail Allows an application to read voicemails in the system.

Allows an application to request installing packages. Apps targeting APIs greater than 25 must hold this permission in order to use
Request install packages
Intent.ACTION_INSTALL_PACKAGE.

System alert window Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.

Write settings Allows an application to read or write the system settings.

Write voicemail Allows an application to modify and remove existing voicemails in the system.

The documentation in the Description column of the table above is licensed under Apache 2.0 . Copyright © Android Open Source Project.

See Also
Application page
Version Info page
Preparing an Android Application for Deployment
Con guring Your System to Detect Your Android Device
Android Mobile Application Development
Creating an Android App

Categories: Rio Android

This page was last edited on 13 March 2019, at 08:27.

Privacy policy About RAD Studio Disclaimers Help Feedback (QP, email) Mobile view

You might also like