Capacitor plugin to open native settings screens for android and iOS
npm install capacitor-native-settingsbash
npm install capacitor-native-settings
npx cap sync
`
Example
`js
import { NativeSettings, AndroidSettings, IOSSettings } from 'capacitor-native-settings';
/**
* ⚠️ iOS limitation
*
* Apple officially supports opening only the app-specific settings screen.
* Other options rely on undocumented URL schemes and may stop working
* or cause App Store rejection.
*/
const result = await NativeSettings.open({
optionAndroid: AndroidSettings.ApplicationDetails,
optionIOS: IOSSettings.App,
});
if (!result.success) {
console.error(result.error);
}
const androidResult = await NativeSettings.openAndroid({
option: AndroidSettings.ApplicationDetails,
});
if (!androidResult.success) {
console.error(androidResult.error);
}
/**
* ⚠️ iOS limitation
*
* Apple officially supports opening only the app-specific settings screen.
* Other options rely on undocumented URL schemes and may stop working
* or cause App Store rejection.
*/
const iosResult = await NativeSettings.openIOS({
option: IOSSettings.App,
});
if (!iosResult.success) {
console.error(iosResult.error);
}
`
API
open(...)
* openAndroid(...)
* openIOS(...)
* Interfaces
* Enums
Capacitor NativeSettings plugin interface.
Provides access to native Android and iOS system settings screens.
$3
`typescript
open(options: PlatformOptions) => Promise
`Opens the specified settings option on the current platform.
| Param | Type | Description |
| ------------- | ----------------------------------------------------------- | ----------------------------------- |
|
options | PlatformOptions | Platform-specific settings options. |Returns: Promise<NativeSettingsResult>
--------------------
$3
`typescript
openAndroid(options: AndroidOptions) => Promise
`Opens the specified Android settings screen.
| Param | Type | Description |
| ------------- | --------------------------------------------------------- | ------------------------- |
|
options | AndroidOptions | Android settings options. |Returns: Promise<NativeSettingsResult>
--------------------
$3
`typescript
openIOS(options: IOSOptions) => Promise
`Opens the specified iOS settings screen.
| Param | Type | Description |
| ------------- | ------------------------------------------------- | --------------------- |
|
options | IOSOptions | iOS settings options. |Returns: Promise<NativeSettingsResult>
--------------------
$3
#### NativeSettingsResult
Result returned by native settings operations.
| Prop | Type | Description |
| ------------- | -------------------- | ----------------------------------------------- |
|
success | boolean | Indicates whether the operation succeeded. |
| error | string | Optional error message if the operation failed. |
#### PlatformOptions
Platform-specific options.
| Prop | Type |
| ------------------- | ----------------------------------------------------------- |
|
optionAndroid | AndroidSettings |
| optionIOS | IOSSettings |
#### AndroidOptions
Android-only options.
| Prop | Type |
| ------------ | ----------------------------------------------------------- |
|
option | AndroidSettings |
#### IOSOptions
iOS-only options.
| Prop | Type |
| ------------ | --------------------------------------------------- |
|
option | IOSSettings |
$3
#### AndroidSettings
| Members | Value | Description |
| ---------------------------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
Accessibility | 'accessibility' | Show settings for accessibility modules |
| Account | 'account' | Show add account screen for creating a new account |
| AirplaneMode | 'airplane_mode' | Show settings to allow entering/exiting airplane mode |
| Apn | 'apn' | Show settings to allow configuration of APNs |
| ApplicationDetails | 'application_details' | Show screen of details about a particular application |
| ApplicationDevelopment | 'application_development' | Show settings to allow configuration of application development-related settings |
| Application | 'application' | Show settings to allow configuration of application-related settings |
| AppNotification | 'app_notification' | Show settings to allow configuration of application-specific notifications |
| BatteryOptimization | 'battery_optimization' | Show screen for controlling which apps can ignore battery optimizations |
| Bluetooth | 'bluetooth' | Show settings to allow configuration of Bluetooth |
| Captioning | 'captioning' | Show settings for video captioning |
| Cast | 'cast' | Show settings to allow configuration of cast endpoints |
| DataRoaming | 'data_roaming' | Show settings for selection of 2G/3G/4G |
| Date | 'date' | Show settings to allow configuration of date and time |
| Display | 'display' | Show settings to allow configuration of display |
| Dream | 'dream' | Show Daydream settings |
| Home | 'home' | Show Home selection settings |
| Keyboard | 'keyboard' | Show settings to configure input methods, in particular allowing the user to enable input methods |
| KeyboardSubType | 'keyboard_subtype' | Show settings to enable/disable input method subtypes |
| Locale | 'locale' | Show settings to allow configuration of locale |
| Location | 'location' | Show settings to allow configuration of current location sources |
| ManageApplications | 'manage_applications' | Show settings to manage installed applications |
| ManageAllApplications | 'manage_all_applications' | Show settings to manage all applications |
| MemoryCard | 'memory_card' | Show settings for memory card storage |
| Network | 'network' | Show settings for selecting the network operator |
| NfcSharing | 'nfcsharing' | Show NFC Sharing settings |
| NfcPayment | 'nfc_payment' | Show NFC Tap & Pay settings |
| NfcSettings | 'nfc_settings' | Show NFC settings |
| Print | 'print' | Show the top level print settings |
| Privacy | 'privacy' | Show settings to allow configuration of privacy options |
| QuickLaunch | 'quick_launch' | Show settings to allow configuration of quick launch shortcuts |
| Search | 'search' | Show settings for global search |
| Security | 'security' | Show settings to allow configuration of security and location privacy |
| Settings | 'settings' | Show system settings |
| ShowRegulatoryInfo | 'show_regulatory_info' | Show the regulatory information screen for the device |
| Sound | 'sound' | Show settings to a llow configuration of sound and volume |
| Storage | 'storage' | Show settings for internal storage |
| Sync | 'sync' | Show settings to allow configuration of sync settings |
| TextToSpeech | 'text_to_speech' | Show settings for configuring Text-to-Speech (TTS) output |
| Usage | 'usage' | Show settings to control access to usage information |
| UserDictionary | 'user_dictionary' | Show settings to manage the user input dictionary |
| VoiceInput | 'voice_input' | Show settings to configure input methods, in particular allowing the user to enable input methods |
| VPN | 'vpn' | Show settings to allow configuration of VPN |
| Wifi | 'wifi' | Show settings to allow configuration of Wi-Fi |
| WifiIp | 'wifi_ip' | Show settings to allow configuration of a static IP address for Wi-Fi |
| Wireless | 'wireless' | Show settings to allow configuration of wireless controls such as Wi-Fi, Bluetooth and Mobile networks |
| ZenMode | 'zen_mode' | Zen mode settings. |
| ZenModePriority | 'zen_mode_priority' | Zen mode priority settings. Note that this may not work on every single device. See: https://github.com/RaphaelWoude/capacitor-native-settings/pull/63 |
| ZenModeBlockedEffects | 'zen_mode_blocked_effects' | Zen mode blocked effects settings. Note that this may not work on every single device. See: https://github.com/RaphaelWoude/capacitor-native-settings/pull/63 |
#### IOSSettings
| Members | Value | Description |
| ------------------------------ | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
About | 'about' | Settings > About page |
| App | 'app' | Opens your app-specific settings screen. Note that this is the only officially supported settings screen by Apple. |
| AppNotification | 'appNotification' | Opens app-specific notification settings screen for iOS 15.4+; opens general app-specific settings for earlier versions." |
| AutoLock | 'autoLock' | Used to set if and when the screen should be automatically locked. |
| Bluetooth | 'bluetooth' | Bluetooth settings. Allows the users to enable/disable bluetooth and to search for devices. |
| DateTime | 'dateTime' | Date and time settings. |
| FaceTime | 'facetime' | FaceTime settings. |
| General | 'general' | Opens iOS general settings screen. |
| Keyboard | 'keyboard' | Keyboard settings. |
| ICloud | 'iCloud' | iCloud settings. |
| ICloudStorageBackup | 'iCloudStorageBackup' | iCloud Storage and Backup settings. |
| International | 'international' | Language and region settings. |
| LocationServices | 'locationServices' | Show settings to allow configuration of current location sources |
| Music | 'music' | Music settings. |
| Notes | 'notes' | Notes settings. |
| Notifications | 'notifications' | Notifications settings. |
| Phone | 'phone' | Phone settings. |
| Photos | 'photos' | Photos settings. |
| ManagedConfigurationList | 'managedConfigurationList' | Allows the user to manage configuration profiles that are installed on the phone. |
| Reset | 'reset' | Screen where the user can reset the phone to factory settings. |
| Ringtone | 'ringtone' | Ringtone settings. |
| Sounds | 'sounds' | Used to set phone volume, vibration settings, etc. |
| SoftwareUpdate | 'softwareUpdate' | Software update screen. |
| Store | 'store' | Store settings. |
| Tracking | 'tracking' | Tracking settings. |
| VPN | 'vpn' | VPN settings. |
| Wallpaper | 'wallpaper' | Wallpaper settings. |
| WiFi | 'wifi' | WiFi settings. |
| Tethering | 'tethering' | Tethering settings (used to create a hotspot with mobile data). |
| DoNotDisturb | 'doNotDisturb' | Do Not Disturb settings. |
| TouchIdPasscode | 'touchIdPasscode' | Touch id passcode settings. |
| ScreenTime | 'screenTime' | Screen Time settings. |
| Accessibility` | 'accessibility' | Accessibility settings. |