A library that provides an API to launch Android intents.
expo-intent-launcher
provides a way to launch Android intents. For example, you can use this API to open a specific settings screen.
Android Device | Android Emulator | iOS Device | iOS Simulator | Web |
---|---|---|---|---|
-
npx expo install expo-intent-launcher
If you're installing this in a bare React Native app, you should also follow these additional installation instructions.
import { startActivityAsync, ActivityAction } from 'expo-intent-launcher';
// Open location settings
startActivityAsync(ActivityAction.LOCATION_SOURCE_SETTINGS);
import * as IntentLauncher from 'expo-intent-launcher';
IntentLauncher.startActivityAsync(activityAction, params)
Name | Type | Description |
---|---|---|
activityAction | string | The action to be performed, e.g. |
params (optional) | IntentLauncherParams | An object of intent parameters. Default: {} |
Starts the specified activity. The method will return a promise which resolves when the user returns to the app.
Returns
A promise which fulfils with IntentLauncherResult
object.
IntentLauncherParams
IntentLauncherParams Properties
Name | Type | Description |
---|---|---|
category (optional) | string | Category provides more details about the action the intent performs. See Intent.addCategory. |
className (optional) | string | Class name of the ComponentName. |
data (optional) | string | A URI specifying the data that the intent should operate upon. (Note: Android requires the URI scheme to be lowercase, unlike the formal RFC.) |
extra (optional) | Record<string, any> | A map specifying additional key-value pairs which are passed with the intent as |
flags (optional) | number | Bitmask of flags to be used. See Intent.setFlags for more details. |
packageName (optional) | string | Package name used as an identifier of ComponentName. Set this only if you want to explicitly set the component to handle the intent. |
type (optional) | string | A string specifying the MIME type of the data represented by the data parameter. Ignore this argument to allow Android to infer the correct MIME type. |
IntentLauncherResult
IntentLauncherResult Properties
Name | Type | Description |
---|---|---|
data (optional) | string | Optional data URI that can be returned by the activity. |
extra (optional) | object | Optional extras object that can be returned by the activity. |
resultCode | ResultCode | Result code returned by the activity. |
ActivityAction
Constants are from the source code of Settings provider.
ACCESSIBILITY_SETTINGS
ActivityAction.ACCESSIBILITY_SETTINGS = "android.settings.ACCESSIBILITY_SETTINGS"
APP_NOTIFICATION_REDACTION
ActivityAction.APP_NOTIFICATION_REDACTION = "android.settings.ACTION_APP_NOTIFICATION_REDACTION"
CONDITION_PROVIDER_SETTINGS
ActivityAction.CONDITION_PROVIDER_SETTINGS = "android.settings.ACTION_CONDITION_PROVIDER_SETTINGS"
NOTIFICATION_LISTENER_SETTINGS
ActivityAction.NOTIFICATION_LISTENER_SETTINGS = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"
PRINT_SETTINGS
ActivityAction.PRINT_SETTINGS = "android.settings.ACTION_PRINT_SETTINGS"
ADD_ACCOUNT_SETTINGS
ActivityAction.ADD_ACCOUNT_SETTINGS = "android.settings.ADD_ACCOUNT_SETTINGS"
AIRPLANE_MODE_SETTINGS
ActivityAction.AIRPLANE_MODE_SETTINGS = "android.settings.AIRPLANE_MODE_SETTINGS"
APN_SETTINGS
ActivityAction.APN_SETTINGS = "android.settings.APN_SETTINGS"
APP_NOTIFICATION_SETTINGS
ActivityAction.APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS"
APP_OPS_SETTINGS
ActivityAction.APP_OPS_SETTINGS = "android.settings.APP_OPS_SETTINGS"
APPLICATION_DETAILS_SETTINGS
ActivityAction.APPLICATION_DETAILS_SETTINGS = "android.settings.APPLICATION_DETAILS_SETTINGS"
APPLICATION_DEVELOPMENT_SETTINGS
ActivityAction.APPLICATION_DEVELOPMENT_SETTINGS = "android.settings.APPLICATION_DEVELOPMENT_SETTINGS"
APPLICATION_SETTINGS
ActivityAction.APPLICATION_SETTINGS = "android.settings.APPLICATION_SETTINGS"
BATTERY_SAVER_SETTINGS
ActivityAction.BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS"
BLUETOOTH_SETTINGS
ActivityAction.BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS"
CAPTIONING_SETTINGS
ActivityAction.CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS"
CAST_SETTINGS
ActivityAction.CAST_SETTINGS = "android.settings.CAST_SETTINGS"
DATA_ROAMING_SETTINGS
ActivityAction.DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"
DATE_SETTINGS
ActivityAction.DATE_SETTINGS = "android.settings.DATE_SETTINGS"
DEVICE_INFO_SETTINGS
ActivityAction.DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS"
DEVICE_NAME
ActivityAction.DEVICE_NAME = "android.settings.DEVICE_NAME"
DISPLAY_SETTINGS
ActivityAction.DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS"
DREAM_SETTINGS
ActivityAction.DREAM_SETTINGS = "android.settings.DREAM_SETTINGS"
HARD_KEYBOARD_SETTINGS
ActivityAction.HARD_KEYBOARD_SETTINGS = "android.settings.HARD_KEYBOARD_SETTINGS"
HOME_SETTINGS
ActivityAction.HOME_SETTINGS = "android.settings.HOME_SETTINGS"
IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS
ActivityAction.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS = "android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS"
IGNORE_BATTERY_OPTIMIZATION_SETTINGS
ActivityAction.IGNORE_BATTERY_OPTIMIZATION_SETTINGS = "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"
INPUT_METHOD_SETTINGS
ActivityAction.INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS"
INPUT_METHOD_SUBTYPE_SETTINGS
ActivityAction.INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS"
INTERNAL_STORAGE_SETTINGS
ActivityAction.INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS"
LOCALE_SETTINGS
ActivityAction.LOCALE_SETTINGS = "android.settings.LOCALE_SETTINGS"
LOCATION_SOURCE_SETTINGS
ActivityAction.LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS"
MANAGE_ALL_APPLICATIONS_SETTINGS
ActivityAction.MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS"
MANAGE_APPLICATIONS_SETTINGS
ActivityAction.MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS"
MANAGE_DEFAULT_APPS_SETTINGS
ActivityAction.MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS"
MEMORY_CARD_SETTINGS
ActivityAction.MEMORY_CARD_SETTINGS = "android.settings.MEMORY_CARD_SETTINGS"
MONITORING_CERT_INFO
ActivityAction.MONITORING_CERT_INFO = "android.settings.MONITORING_CERT_INFO"
NETWORK_OPERATOR_SETTINGS
ActivityAction.NETWORK_OPERATOR_SETTINGS = "android.settings.NETWORK_OPERATOR_SETTINGS"
NFC_PAYMENT_SETTINGS
ActivityAction.NFC_PAYMENT_SETTINGS = "android.settings.NFC_PAYMENT_SETTINGS"
NFC_SETTINGS
ActivityAction.NFC_SETTINGS = "android.settings.NFC_SETTINGS"
NFCSHARING_SETTINGS
ActivityAction.NFCSHARING_SETTINGS = "android.settings.NFCSHARING_SETTINGS"
NIGHT_DISPLAY_SETTINGS
ActivityAction.NIGHT_DISPLAY_SETTINGS = "android.settings.NIGHT_DISPLAY_SETTINGS"
NOTIFICATION_POLICY_ACCESS_SETTINGS
ActivityAction.NOTIFICATION_POLICY_ACCESS_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS"
NOTIFICATION_SETTINGS
ActivityAction.NOTIFICATION_SETTINGS = "android.settings.NOTIFICATION_SETTINGS"
PAIRING_SETTINGS
ActivityAction.PAIRING_SETTINGS = "android.settings.PAIRING_SETTINGS"
PRIVACY_SETTINGS
ActivityAction.PRIVACY_SETTINGS = "android.settings.PRIVACY_SETTINGS"
QUICK_LAUNCH_SETTINGS
ActivityAction.QUICK_LAUNCH_SETTINGS = "android.settings.QUICK_LAUNCH_SETTINGS"
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
ActivityAction.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
SECURITY_SETTINGS
ActivityAction.SECURITY_SETTINGS = "android.settings.SECURITY_SETTINGS"
SETTINGS
ActivityAction.SETTINGS = "android.settings.SETTINGS"
SHOW_ADMIN_SUPPORT_DETAILS
ActivityAction.SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS"
SHOW_INPUT_METHOD_PICKER
ActivityAction.SHOW_INPUT_METHOD_PICKER = "android.settings.SHOW_INPUT_METHOD_PICKER"
SHOW_REGULATORY_INFO
ActivityAction.SHOW_REGULATORY_INFO = "android.settings.SHOW_REGULATORY_INFO"
SHOW_REMOTE_BUGREPORT_DIALOG
ActivityAction.SHOW_REMOTE_BUGREPORT_DIALOG = "android.settings.SHOW_REMOTE_BUGREPORT_DIALOG"
SOUND_SETTINGS
ActivityAction.SOUND_SETTINGS = "android.settings.SOUND_SETTINGS"
STORAGE_MANAGER_SETTINGS
ActivityAction.STORAGE_MANAGER_SETTINGS = "android.settings.STORAGE_MANAGER_SETTINGS"
SYNC_SETTINGS
ActivityAction.SYNC_SETTINGS = "android.settings.SYNC_SETTINGS"
SYSTEM_UPDATE_SETTINGS
ActivityAction.SYSTEM_UPDATE_SETTINGS = "android.settings.SYSTEM_UPDATE_SETTINGS"
TETHER_PROVISIONING_UI
ActivityAction.TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI"
TRUSTED_CREDENTIALS_USER
ActivityAction.TRUSTED_CREDENTIALS_USER = "android.settings.TRUSTED_CREDENTIALS_USER"
USAGE_ACCESS_SETTINGS
ActivityAction.USAGE_ACCESS_SETTINGS = "android.settings.USAGE_ACCESS_SETTINGS"
USER_DICTIONARY_INSERT
ActivityAction.USER_DICTIONARY_INSERT = "android.settings.USER_DICTIONARY_INSERT"
USER_DICTIONARY_SETTINGS
ActivityAction.USER_DICTIONARY_SETTINGS = "android.settings.USER_DICTIONARY_SETTINGS"
USER_SETTINGS
ActivityAction.USER_SETTINGS = "android.settings.USER_SETTINGS"
VOICE_CONTROL_AIRPLANE_MODE
ActivityAction.VOICE_CONTROL_AIRPLANE_MODE = "android.settings.VOICE_CONTROL_AIRPLANE_MODE"
VOICE_CONTROL_BATTERY_SAVER_MODE
ActivityAction.VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE"
VOICE_CONTROL_DO_NOT_DISTURB_MODE
ActivityAction.VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE"
VOICE_INPUT_SETTINGS
ActivityAction.VOICE_INPUT_SETTINGS = "android.settings.VOICE_INPUT_SETTINGS"
VPN_SETTINGS
ActivityAction.VPN_SETTINGS = "android.settings.VPN_SETTINGS"
VR_LISTENER_SETTINGS
ActivityAction.VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS"
WEBVIEW_SETTINGS
ActivityAction.WEBVIEW_SETTINGS = "android.settings.WEBVIEW_SETTINGS"
WIFI_IP_SETTINGS
ActivityAction.WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS"
WIFI_SETTINGS
ActivityAction.WIFI_SETTINGS = "android.settings.WIFI_SETTINGS"
WIRELESS_SETTINGS
ActivityAction.WIRELESS_SETTINGS = "android.settings.WIRELESS_SETTINGS"
ZEN_MODE_AUTOMATION_SETTINGS
ActivityAction.ZEN_MODE_AUTOMATION_SETTINGS = "android.settings.ZEN_MODE_AUTOMATION_SETTINGS"
ZEN_MODE_EVENT_RULE_SETTINGS
ActivityAction.ZEN_MODE_EVENT_RULE_SETTINGS = "android.settings.ZEN_MODE_EVENT_RULE_SETTINGS"
ZEN_MODE_EXTERNAL_RULE_SETTINGS
ActivityAction.ZEN_MODE_EXTERNAL_RULE_SETTINGS = "android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS"
ZEN_MODE_PRIORITY_SETTINGS
ActivityAction.ZEN_MODE_PRIORITY_SETTINGS = "android.settings.ZEN_MODE_PRIORITY_SETTINGS"
ZEN_MODE_SCHEDULE_RULE_SETTINGS
ActivityAction.ZEN_MODE_SCHEDULE_RULE_SETTINGS = "android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS"
ZEN_MODE_SETTINGS
ActivityAction.ZEN_MODE_SETTINGS = "android.settings.ZEN_MODE_SETTINGS"
ResultCode
Canceled
ResultCode.Canceled = 0
Means that the activity was canceled, e.g. by tapping on the back button.
FirstUser
ResultCode.FirstUser = 1
First custom, user-defined value that can be returned by the activity.