airplane_mode_checker 3.3.0
airplane_mode_checker: ^3.3.0 copied to clipboard
Flutter plugin allows you to check the status of Airplane Mode on iOS and Android mobile.
airplane_mode_checker #
A Flutter plugin allows you to check the status of Airplane Mode on iOS and Android mobile.
Platform Support #
| Platform | Supported | Notes |
|---|---|---|
| Android | ✅ | Full support |
| iOS | ⚠️ | Limited - see below |
iOS Limitations #
Important: iOS does not provide a public API to reliably detect Airplane Mode in all cases.
- ✅ Works on cellular devices (iPhone, iPad with cellular)
- ❌ Limited accuracy on WiFi-only devices (iPad WiFi, iPod Touch)
- The plugin uses
CTTelephonyNetworkInfowhich only works with cellular radios - WiFi-only iOS devices return
AirplaneModeStatus.offby default, but callers can override this withdefaultValue - Stream updates on iOS are best-effort due to platform limitations
This is a platform limitation by Apple, not a plugin issue. The plugin provides the best detection possible within iOS constraints.
Usage #
Find the example wiring in the example app
Installation #
Add the following line to pubspec.yaml:
dependencies:
airplane_mode_checker: ^3.3.0
Add the following import to your Dart code:
import 'package:airplane_mode_checker/airplane_mode_checker.dart';
On iOS, this plugin supports both the traditional CocoaPods flow and Flutter's Swift Package Manager integration. Both integration methods support iOS 12.0 or higher. Using Swift Package Manager integration in the consuming app requires Flutter 3.24 or higher.
Check Airplane Mode #
In order to check the airplane mode, use AirplaneModeChecker.instance.checkAirplaneMode() as below.
You will get the return AirplaneModeStatus:
AirplaneModeStatus.onAirplaneModeStatus.off
final status = await AirplaneModeChecker.instance.checkAirplaneMode();
if (status == AirplaneModeStatus.on) {
print('Airplane mode is ON');
} else {
print('Airplane mode is OFF');
}
On WiFi-only iOS devices, pass defaultValue to control the fallback value used
when iOS cannot detect airplane mode through cellular APIs:
final status = await AirplaneModeChecker.instance.checkAirplaneMode(
defaultValue: AirplaneModeStatus.on,
);
Listen to Airplane Mode Changes #
To listen for changes in the status of airplane mode, use AirplaneModeChecker.instance.listenAirplaneMode().
This will return a Stream<AirplaneModeStatus>:
- Android: emits the initial status and listens for system airplane mode changes
- iOS: emits best-effort updates due to platform limitations
AirplaneModeChecker.instance.listenAirplaneMode().listen((status) {
if (status == AirplaneModeStatus.on) {
print('Airplane mode is ON');
} else {
print('Airplane mode is OFF');
}
});
The stream API accepts the same iOS fallback:
AirplaneModeChecker.instance.listenAirplaneMode(
defaultValue: AirplaneModeStatus.on,
);
Requirements #
- iOS: 12.0 or higher
- Android: API 16 (Jelly Bean) or higher
- Flutter: 3.3.0 or higher
- Dart: 3.3.0 or higher
iOS available #
iOS is available from version 12 with CocoaPods and Swift Package Manager.
@available(iOS 12.0, *)
ScreenShots #
AirplaneMode: ONAirplaneMode: OFF
Issues and feedback #
Please file issues to send feedback or report a bug. Thank you!
License #
MIT License

