App permissions

With the <permission> element in the app descriptor file, you can list the permissions you want the OS to grant your application.

The following permissions can be granted:

Functionality or capability Permission element value Description
BlackBerry messenger bbm_connect Allows the app to connect to BlackBerry Messenger (BBM). This permission also allows the app to view contact lists and user profiles, invite BBM contacts to download the app, initiate BBM chats, share content from within the app, and stream data between apps in real time.
Calendar access_pimdomain_calendars Grants the app access to the calendar. You must set this permission to view, add, and delete calendar appointments.
Camera use_camera Allows the app to access data from cameras attached to the system. This permission is required to take pictures, record video, and use the camera flash.
Capture Screen use_camera_desktop Allows the app to take screenshots or videos of the user's screen.
Contacts access_pimdomain_contacts Grants the app access to the contacts stored on the system. You must set this permission to view, create, and delete contacts.
Control Notification Settings access_notify_settings_control Allows the app to modify global notification settings. By default, apps have permission to read only their own notification settings.
Note: This permission doesn't appear on the Applications tab in the IDE. You must add the permission manually on the Source tab.
Device Identifying Information read_device_identifying_information Grants the app access to unique system identifiers such as the PIN and serial number. By setting this permission, you can also access SIM card information.
Email and PIN Messages access_pimdomain_messages Allows the app to access the email and PIN messages stored on the device. This permission is required to view, create, send, and delete email and PIN messages.
Gamepad use_gamepad Indicates that the app supports gamepad functionality and that it has official gamepad support in the BlackBerry World storefront.
Internet access_internet Allows the app to use an Internet connection from a Wi-Fi, wired, or other connection. This permission is required to access a nonlocal destination.
Location access_location_services Grants the app access to the system's current location and any saved access locations. You must set this permission to access geolocation data, information for geofencing, cell tower information, Wi-Fi data, and Cascades Places.
Microphone record_audio Grants the app access to the audio stream from a microphone attached to the system.
My Contact Info read_personally_identifiable_information Grants the app access to user information such as the first and last names.
Notebooks access_pimdomain_notebooks Grants the app access to the content stored in the notebooks on the system. This permission is required to view, add, and delete entries and content from notebooks.
Phone access_phone Allows the app to determine when a user is on a phone call and to access the phone number assigned to the device and send DTMF (Dual Tone Multi-Frequency) tones.
Phone Control control_phone Allows the app to combine two calls together, end a call, and use the dial pad during a call.
Post Notifications post_notification Allows the app to post notifications. This permission doesn't require the user to grant your app access and is granted by the OS when requested.
Push _sys_use_consumer_push Allows the app to use the BlackBerry Push Service with the BlackBerry Internet Service to receive and request push messages. To use these two services together, you must register with BlackBerry. When you register, you will receive a confirmation email containing information that the application needs to receive and request push messages. For more information about registering, see the Push Service page on the public BlackBerry website.

When using the Push Service with the BlackBerry Enterprise Server or the BlackBerry Device Service, you don't need to register with BlackBerry and you must not set the Push permission for your app.
Run as Active Frame run_when_backgrounded Allows the app to perform background processing. Without this permission, the app will be stopped when you switch focus to another app. Use this permission sparingly and only when the app must perform background processing.

This permission is useful for apps that play music or manage downloads.
Run in Background _sys_run_headless Allows the app to perform tasks in the background for a short period of time without opening the app.
Note: This permission doesn't appear on the Applications tab in the IDE. You must add the permission manually on the Source tab.
Run in Background Continuously _sys_headless_nostop Allows the app to run in the background at all times.
Note: This permission doesn't appear on the Applications tab in the IDE. You must add the permission manually on the Source tab.
Shared Files access_shared Allows the app to read and write files shared between all apps. With this permission set, the app can access pictures, music, documents, and other files stored on the local system, at a remote storage provider, on a media card, or in the cloud.
Text Messages access_sms_mms Grants the app access to text messages stored on the local system. You must set this permission to view, create, send, receive, and delete text messages.
Wi-Fi Connection access_wifi_public Allows the app to receive Wi-Fi event notifications such as Wi-Fi scan results or changes in the Wi-Fi connection state. This permission also allows limited Wi-Fi control for hotspot aggregator applications that manage network selection and authentication to a Wi-Fi Hotspot.

This permission doesn't allow the app to force a connection to a specific network profile when other available networks with a higher priority are configured for the system. It's not necessary to configure this permission if you only want to retrieve or query information about existing Wi-Fi connections.
Note: This permission doesn't appear on the Applications tab in the IDE. You must add the permission manually on the Source tab.