Expo IntentLauncher
提供 API 来启动 Android 意图的库。
expo-intent-launcher 提供了一种启动 Android Intent 的方法。例如,你可以使用此 API 打开特定的设置屏幕。
¥expo-intent-launcher provides a way to launch Android intents. For example, you can use this API to open a specific settings screen.
安装
¥Installation
- npx expo install expo-intent-launcherIf you are installing this in an existing React Native app, make sure to install expo in your project.
用法
¥Usage
import { startActivityAsync, ActivityAction } from 'expo-intent-launcher'; // Open location settings startActivityAsync(ActivityAction.LOCATION_SOURCE_SETTINGS);
API
import * as IntentLauncher from 'expo-intent-launcher';
Methods
| Parameter | Type | Description |
|---|---|---|
| packageName | string | The package name of the target application. For example, |
Returns the icon of the specified application as a base64-encoded PNG image string.
The returned string is prefixed with data:image/png;base64, and can be used directly in an expo-image's Image.source prop.
Promise<string>A promise that resolves to the base64-encoded PNG icon of the specified application, or an empty string if the icon could not be retrieved.
| Parameter | Type | Description |
|---|---|---|
| packageName | string | For example: |
Opens an application by its package name.
void| Parameter | Type | Description |
|---|---|---|
| activityAction | string | The action to be performed, for example, |
| 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.
Promise<IntentLauncherResult>A promise which fulfils with IntentLauncherResult object.
Interfaces
| Property | Type | Description |
|---|---|---|
| category(optional) | string | Category provides more details about the action the intent performs. See |
| 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 |
| 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. |
| Property | 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. |
Enums
Constants are from the source code of Settings provider.
ActivityAction.ACCESSIBILITY_SETTINGS = "android.settings.ACCESSIBILITY_SETTINGS"ActivityAction.APP_NOTIFICATION_REDACTION = "android.settings.ACTION_APP_NOTIFICATION_REDACTION"ActivityAction.CONDITION_PROVIDER_SETTINGS = "android.settings.ACTION_CONDITION_PROVIDER_SETTINGS"ActivityAction.NOTIFICATION_LISTENER_SETTINGS = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"ActivityAction.AIRPLANE_MODE_SETTINGS = "android.settings.AIRPLANE_MODE_SETTINGS"ActivityAction.APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS"ActivityAction.APPLICATION_DETAILS_SETTINGS = "android.settings.APPLICATION_DETAILS_SETTINGS"ActivityAction.APPLICATION_DEVELOPMENT_SETTINGS = "android.settings.APPLICATION_DEVELOPMENT_SETTINGS"ActivityAction.BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS"ActivityAction.DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS"ActivityAction.HARD_KEYBOARD_SETTINGS = "android.settings.HARD_KEYBOARD_SETTINGS"ActivityAction.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS = "android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS"ActivityAction.IGNORE_BATTERY_OPTIMIZATION_SETTINGS = "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS"ActivityAction.INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS"ActivityAction.INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS"ActivityAction.INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS"ActivityAction.LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS"ActivityAction.MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS"ActivityAction.MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS"ActivityAction.MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS"ActivityAction.NETWORK_OPERATOR_SETTINGS = "android.settings.NETWORK_OPERATOR_SETTINGS"ActivityAction.NIGHT_DISPLAY_SETTINGS = "android.settings.NIGHT_DISPLAY_SETTINGS"ActivityAction.NOTIFICATION_POLICY_ACCESS_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS"ActivityAction.NOTIFICATION_SETTINGS = "android.settings.NOTIFICATION_SETTINGS"ActivityAction.QUICK_LAUNCH_SETTINGS = "android.settings.QUICK_LAUNCH_SETTINGS"ActivityAction.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"ActivityAction.SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS"ActivityAction.SHOW_INPUT_METHOD_PICKER = "android.settings.SHOW_INPUT_METHOD_PICKER"ActivityAction.SHOW_REMOTE_BUGREPORT_DIALOG = "android.settings.SHOW_REMOTE_BUGREPORT_DIALOG"ActivityAction.STORAGE_MANAGER_SETTINGS = "android.settings.STORAGE_MANAGER_SETTINGS"ActivityAction.SYSTEM_UPDATE_SETTINGS = "android.settings.SYSTEM_UPDATE_SETTINGS"ActivityAction.TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI"ActivityAction.TRUSTED_CREDENTIALS_USER = "android.settings.TRUSTED_CREDENTIALS_USER"ActivityAction.USAGE_ACCESS_SETTINGS = "android.settings.USAGE_ACCESS_SETTINGS"ActivityAction.USER_DICTIONARY_INSERT = "android.settings.USER_DICTIONARY_INSERT"ActivityAction.USER_DICTIONARY_SETTINGS = "android.settings.USER_DICTIONARY_SETTINGS"ActivityAction.VOICE_CONTROL_AIRPLANE_MODE = "android.settings.VOICE_CONTROL_AIRPLANE_MODE"ActivityAction.VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE"ActivityAction.VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE"ActivityAction.ZEN_MODE_AUTOMATION_SETTINGS = "android.settings.ZEN_MODE_AUTOMATION_SETTINGS"ActivityAction.ZEN_MODE_EVENT_RULE_SETTINGS = "android.settings.ZEN_MODE_EVENT_RULE_SETTINGS"ActivityAction.ZEN_MODE_EXTERNAL_RULE_SETTINGS = "android.settings.ZEN_MODE_EXTERNAL_RULE_SETTINGS"ActivityAction.ZEN_MODE_PRIORITY_SETTINGS = "android.settings.ZEN_MODE_PRIORITY_SETTINGS"ActivityAction.ZEN_MODE_SCHEDULE_RULE_SETTINGS = "android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS"ResultCode.Canceled = 0Means that the activity was canceled, for example, by tapping on the back button.