open_device_settings

Open system settings panels from Flutter apps on Android, iOS, Windows, macOS, and Linux.

Description

open_device_settings provides a unified Flutter API to open native system settings screens such as WiFi, Bluetooth, display, notifications, apps, and more.

Features

  • Open native system settings screens.
  • Supports Android, iOS, Windows, macOS, and Linux.
  • Check whether a settings panel is supported on the current platform.
  • Open top-level system settings.

Import the package in your Dart code:

import 'package:open_device_settings/open_device_settings.dart';

Usage

Open a settings panel

final opened = await DeviceSettings.open(SettingsPanel.wifi);
if (!opened) {
  print('Could not open WiFi settings');
}

Check if a panel is supported

if (await DeviceSettings.isSupported(SettingsPanel.nfc)) {
  await DeviceSettings.open(SettingsPanel.nfc);
}

Open general system settings

await DeviceSettings.openSystemSettings();

Get all supported panels

final supportedPanels = await DeviceSettings.getSupportedPanels();

Available panels

The plugin exposes the SettingsPanel enum grouped by categories. Not all panels are available on every platform. Use DeviceSettings.isSupported(...) before opening a panel.

Network

  • SettingsPanel.wifi - WiFi / wireless network settings
  • SettingsPanel.ethernet - Ethernet / wired network settings
  • SettingsPanel.bluetooth - Bluetooth settings
  • SettingsPanel.nfc - NFC settings (Android only)
  • SettingsPanel.mobileData - Mobile/cellular data settings (Android & iOS)
  • SettingsPanel.hotspot - Hotspot / tethering settings (Android)
  • SettingsPanel.vpn - VPN settings
  • SettingsPanel.airplaneMode - Airplane mode settings
  • SettingsPanel.network - Network & internet settings (general)
  • SettingsPanel.dataUsage - Data usage settings (Android)
  • SettingsPanel.dns - DNS settings

Display & Appearance

  • SettingsPanel.display - Display / screen settings
  • SettingsPanel.brightness - Brightness settings
  • SettingsPanel.nightMode - Night mode / blue light filter settings
  • SettingsPanel.wallpaper - Wallpaper settings
  • SettingsPanel.screenResolution - Screen resolution settings
  • SettingsPanel.screenTimeout - Screen timeout settings
  • SettingsPanel.fontSize - Font size settings
  • SettingsPanel.textSize - Text size & display settings
  • SettingsPanel.darkMode - Dark mode settings
  • SettingsPanel.colorCorrection - Accessibility display settings

Sound & Notifications

  • SettingsPanel.sound - Sound / audio settings
  • SettingsPanel.volume - Volume settings
  • SettingsPanel.notification - Notification settings
  • SettingsPanel.doNotDisturb - Do not disturb / focus settings
  • SettingsPanel.ringtone - Ringtone settings
  • SettingsPanel.alarms - Alarm settings
  • SettingsPanel.captionSettings - Accessibility sound settings

Apps & Storage

  • SettingsPanel.apps - Application / apps settings
  • SettingsPanel.storage - Storage / disk usage settings
  • SettingsPanel.defaultApps - Default apps settings
  • SettingsPanel.appPermissions - App permissions settings
  • SettingsPanel.appNotifications - App notifications settings (per-app)

Security & Privacy

  • SettingsPanel.security - Security settings
  • SettingsPanel.privacy - Privacy settings
  • SettingsPanel.location - Location / GPS settings
  • SettingsPanel.screenLock - Screen lock / PIN / biometrics settings
  • SettingsPanel.fingerprint - Fingerprint settings
  • SettingsPanel.faceRecognition - Face recognition settings
  • SettingsPanel.twoFactorAuth - Two-factor authentication settings
  • SettingsPanel.encryption - Encryption settings
  • SettingsPanel.permissions - Permissions manager
  • SettingsPanel.trustedCredentials - Trusted credentials settings
  • SettingsPanel.cameraMicrophone - Camera & microphone permissions

Battery & Power

  • SettingsPanel.battery - Battery settings
  • SettingsPanel.powerSaver - Power saver / low power mode settings
  • SettingsPanel.batteryUsage - Battery usage stats
  • SettingsPanel.sleep - Sleep settings
  • SettingsPanel.powerManagement - Power management settings

Accounts & Sync

  • SettingsPanel.accounts - Accounts settings
  • SettingsPanel.sync - Sync settings
  • SettingsPanel.cloudBackup - Cloud / backup settings
  • SettingsPanel.googleAccount - Google account settings (Android)
  • SettingsPanel.appleAccount - Apple ID / iCloud settings (iOS/macOS)

Hardware & Sensors

  • SettingsPanel.camera - Camera settings
  • SettingsPanel.microphone - Microphone settings
  • SettingsPanel.printer - Printer settings
  • SettingsPanel.bluetoothDevices - Bluetooth device management
  • SettingsPanel.usb - USB settings (Android)
  • SettingsPanel.touchpad - Touchpad settings (Desktop)
  • SettingsPanel.mouse - Mouse settings (Desktop)
  • SettingsPanel.keyboardShortcuts - Keyboard shortcuts (Desktop)
  • SettingsPanel.multipleDisplays - Display/monitor arrangement (Desktop)

Parental Controls / Family

  • SettingsPanel.parentalControls - Parental controls / screen time settings
  • SettingsPanel.screenTime - Screen time settings (iOS/macOS)

System & General

  • SettingsPanel.about - General / about device settings
  • SettingsPanel.system - System settings (top-level)
  • SettingsPanel.language - Language & input settings
  • SettingsPanel.keyboard - Keyboard settings
  • SettingsPanel.dateTime - Date & time settings
  • SettingsPanel.region - Region & format settings
  • SettingsPanel.accessibility - Accessibility settings
  • SettingsPanel.developerOptions - Developer options (Android)
  • SettingsPanel.softwareUpdate - Software update / system update settings
  • SettingsPanel.reset - Reset / factory reset settings
  • SettingsPanel.backup - Backup settings
  • SettingsPanel.search - Search settings

Specialized (Android Specific)

  • SettingsPanel.appNotificationChannel - App-specific notification channel settings
  • SettingsPanel.ignoreBatteryOptimization - Ignore battery optimization settings
  • SettingsPanel.writeSystemSettings - Write system settings permission
  • SettingsPanel.manageAllFiles - Manage all files access
  • SettingsPanel.installUnknownApps - Install unknown apps settings
  • SettingsPanel.usageAccess - Usage access settings
  • SettingsPanel.notificationListenerSettings - Notification listener settings
  • SettingsPanel.overlayPermission - Overlay / draw over other apps permission

Supported platforms

  • Android
  • iOS
  • Windows
  • macOS
  • Linux

Example

The example/ folder contains a Flutter demo app showing how to use the plugin.