Windows.System APIs
Tip
This article covers Uno-specific information for Windows.System
namespace. For a full description of the feature and instructions on using it, consult the UWP documentation: https://learn.microsoft.com/en-us/uwp/api/windows.system
- The
Windows.System.Launcher
class provides functionality for launching URIs and apps.
Launcher
LaunchUriAsync
This API is supported on iOS, Android, WASM and macOS.
On iOS, Android and macOS the ms-settings:
special URI is supported.
In case of iOS, any such URI opens the main page of system settings (there is no settings deep-linking available on iOS).
In case of Android, we support the following nested URIs.
Settings URI | Android Mapping |
---|---|
ms-settings:sync |
Settings.ActionSyncSettings |
ms-settings:appsfeatures-app |
Settings.ActionApplicationDetailsSettings |
ms-settings:appsfeatures |
Settings.ActionApplicationSettings |
ms-settings:defaultapps |
Settings.ActionManageDefaultAppsSettings |
ms-settings:appsforwebsites |
Settings.ActionManageDefaultAppsSettings |
ms-settings:cortana |
Settings.ActionVoiceInputSettings |
ms-settings:bluetooth |
Settings.ActionBluetoothSettings |
ms-settings:printers |
Settings.ActionPrintSettings |
ms-settings:typing |
Settings.ActionHardKeyboardSettings |
ms-settings:easeofaccess |
Settings.ActionAccessibilitySettings |
ms-settings:network-airplanemode |
Settings.ActionAirplaneModeSettings |
ms-settings:network-celluar |
Settings.ActionNetworkOperatorSettings |
ms-settings:network-datausage |
Settings.ActionDataUsageSettings |
ms-settings:network-wifiSettings |
Settings.ActionWifiSettings |
ms-settings:nfctransactions |
Settings.ActionNfcSettings |
ms-settings:network-vpn |
Settings.ActionVpnSettings |
ms-settings:network-wifi |
Settings.ActionWifiSettings |
ms-settings:network |
Settings.ActionWirelessSettings |
ms-settings:personalization |
Settings.ActionDisplaySettings |
ms-settings:privacy |
Settings.ActionPrivacySettings |
ms-settings:about |
Settings.ActionDeviceInfoSettings |
ms-settings:apps-volume |
Settings.ActionSoundSettings |
ms-settings:batterysaver |
Settings.ActionBatterySaverSettings |
ms-settings:display |
Settings.ActionDisplaySettings |
ms-settings:screenrotation |
Settings.ActionDisplaySettings |
ms-settings:quiethours |
Settings.ActionZenModePrioritySettings |
ms-settings:quietmomentshome |
Settings.ActionZenModePrioritySettings |
ms-settings:nightlight |
Settings.ActionNightDisplaySettings |
ms-settings:taskbar |
Settings.ActionDisplaySettings |
ms-settings:notifications |
Settings.ActionAppNotificationSettings |
ms-settings:storage |
Settings.ActionInternalStorageSettings |
ms-settings:sound |
Settings.ActionSoundSettings |
ms-settings:dateandtime |
Settings.ActionDateSettings |
ms-settings:keyboard |
Settings.ActionInputMethodSettings |
ms-settings:regionlanguage |
Settings.ActionLocaleSettings |
ms-settings:developers |
Settings.ActionApplicationDevelopmentSettings |
In case of macOS, Uno supports the following nested URIs, mapped to Preference Panes (/System/Library/PreferencePanes)
Settings URI | macOS Mapping |
---|---|
ms-settings:signinoptions-launchfaceenrollment |
TouchID |
ms-settings:launchfingerprintenrollment |
TouchID |
ms-settings:signinoptions |
Accounts |
ms-settings:emailandaccounts |
InternetAccounts |
ms-settings:appsforwebsites |
Settings.ActionManageDefaultAppsSettings |
ms-settings:tabletmode |
Expose |
ms-settings:personalization-start |
Expose |
ms-settings:personalization-background |
DesktopScreenEffectsPref |
ms-settings:personalization |
Appearance |
ms-settings:bluetooth |
Bluetooth |
ms-settings:dateandtime |
DateAndTime |
ms-settings:region |
Localization |
ms-settings:typing |
Keyboard |
ms-settings:display |
Displays |
ms-settings:screenrotation |
Displays |
ms-settings:taskbar |
Dock |
ms-settings:batterysaver |
EnergySaver |
ms-settings:powersleep |
EnergySaver |
ms-settings:otherusers |
FamilySharingPrefPane |
ms-settings:mousetouchpad |
Mouse |
ms-settings:devices-touchpad |
Trackpad |
ms-settings:network |
Network |
ms-settings:privacy-notifications |
Notifications |
ms-settings:printers |
PrintAndFax |
ms-settings:privacy |
Security |
ms-settings:crossdevice |
SharingPref |
ms-settings:quiethours |
ScreenTime |
ms-settings:quietmomentshome |
ScreenTime |
ms-settings:sound |
Sound |
ms-settings:windowsupdate |
SoftwareUpdate |
ms-settings:cortana-windowssearch |
Spotlight |
ms-settings:cortana |
Speech |
ms-settings:storage |
StartupDisk |
ms-settings:backup |
TimeMachine |
ms-settings:easeofaccess |
UniversalAccessPref |
Exceptions
- When
uri
argument isnull
,NullReferenceException
is thrown. Note this differs from UWP whereAccessViolationException
is thrown. - When the method is called from non-UI thread
InvalidOperationException
is thrown.
Exceptions are in line with UWP.
QueryUriSupportAsync
This API is supported on iOS, Android and macOS, and the implementation does not respect the LaunchQuerySupportType
parameter yet. It also reports the aforementioned special ms-settings
URIs on Android and iOS as supported.
Platform-specific requirements
Android
When targeting Android 11 (API 30) or newer, you may notice the QueryUriSupportAsync
returning false. To avoid this, make sure to add any URL schemes passed to it as <queries>
entries in your AndroidManifest.xml
:
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" />
</intent>
</queries>
iOS
Add any URL schemes passed to QueryUriSupportAsync
as LSApplicationQueriesSchemes
entries in your Info.plist
file, otherwise, it will return false:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tel</string>
<string>https</string>
</array>
Exceptions
- When
uri
argument isnull
,NullReferenceException
is thrown. Note this differs from UWP where a plainException
with HRESULT is thrown.
Exceptions are in line with UWP.