connectivity_control
A Flutter plugin that provides low-level, real-time visibility into active network interfaces on a device, including whether each network actually has internet access and its key characteristics.
Unlike basic connectivity checks, this plugin is designed to help apps understand, observe, and reason about multiple simultaneous networks (Wi-Fi, cellular, VPN, etc.) using accurate system-level signals.
Features (v0.0.1)
- Detect all active network interfaces on the device
- Identify network type (Wi-Fi, cellular, VPN, etc.)
- Determine whether a network:
- Has internet capability
- Is validated by the system
- Is metered or unmetered
- Retrieve upstream and downstream bandwidth estimates
- Listen to real-time network changes via streams
- Native, event-driven implementation (no polling)
Platform Support
| Platform | Support |
|---|---|
| Android | ✅ Supported (API 21+) |
| iOS | ⏳ Planned |
Installation
dependencies:
connectivity_control: ^0.0.1
flutter pub get
How to Use
import 'package:connectivity_control/connectivity_control.dart';
Get Active Networks
final networks = await ConnectivityControl().getActiveNetworks();
print(networks);
Listen to Network Changes
ConnectivityControl().listenToActiveNetworks().listen((networks) {
print(networks);
});
NetworkInfo Fields
typehasInternetisValidatedisMetereddownLinkKbpsupLinkKbps