Skip to content

Capacitor plugin to open native settings screens for android and iOS

License

Notifications You must be signed in to change notification settings

RaphaelWoude/capacitor-native-settings

Repository files navigation

Capacitor Native Settings

Capacitor plugin to open native settings screens for Android and iOS.

Plugin versions

Capacitor version Plugin version
v6 >= v6.0.0
v5 >= v5.0.0
v4 >= v4.0.0
v3 <= v2.0.1

Install

npm install capacitor-native-settings
npx cap sync

Example

import { NativeSettings, AndroidSettings, IOSSettings } from 'capacitor-native-settings';

/**
 * Note that the only supported option by Apple is "App".
 * Using other options might break in future iOS versions
 * or have your app rejected from the App Store.
 */
NativeSettings.open({
  optionAndroid: AndroidSettings.ApplicationDetails, 
  optionIOS: IOSSettings.App
})

NativeSettings.openAndroid({
  option: AndroidSettings.ApplicationDetails,
});

/**
 * Note that the only supported option by Apple is "App".
 * Using other options might break in future iOS versions
 * or have your app rejected from the App Store.
 */
NativeSettings.openIOS({
  option: IOSSettings.App,
});

API

open(...)

open(option: PlatformOptions) => Promise<{ status: boolean; }>

Opens the specified options on android & ios. Note that the only supported option by Apple is "App". Using other options might break in future iOS versions or have your app rejected in the App Store.

Param Type Description
option PlatformOptions PlatformOptions

Returns: Promise<{ status: boolean; }>


openAndroid(...)

openAndroid(option: AndroidOptions) => Promise<{ status: boolean; }>

Opens the specified option in android. Only use this if you have made sure the user is on android. This can be done by checking the platform before hand.

Param Type Description
option AndroidOptions AndroidOptions

Returns: Promise<{ status: boolean; }>


openIOS(...)

openIOS(option: IOSOptions) => Promise<{ status: boolean; }>

Opens the specified option on iOS. Only use this if you have made sure the user is on iOS. This can be done by checking the platform before hand.

Note that the only supported option by Apple is "App". Using other options might break in future iOS versions or have your app rejected in the App Store.

Param Type Description
option IOSOptions IOSOptions

Returns: Promise<{ status: boolean; }>


Interfaces

PlatformOptions

Prop Type
optionAndroid AndroidSettings
optionIOS IOSSettings

AndroidOptions

Prop Type
option AndroidSettings

IOSOptions

Prop Type
option IOSSettings

Enums

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
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
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

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.
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.
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.