connectivity_validator 0.0.5 copy "connectivity_validator: ^0.0.5" to clipboard
connectivity_validator: ^0.0.5 copied to clipboard

A robust internet connectivity checker that validates actual network access using native Android (NET_CAPABILITY_VALIDATED) and iOS (NWPathMonitor) APIs.

connectivity_validator #

pub package pub points CI

Flutter plugin for validated internet connectivity: real internet access, not just “network connected.” Detects captive portals and router-without-internet. Stream-based, Android & iOS.

Features #

  • Validated connectivity (real internet, not only link up)
  • Captive portal and “WiFi on, no internet” detection
  • Real-time stream (onConnectivityChanged)
  • Android (API 24+) and iOS (12.0+)

Installation #

pubspec.yaml

dependencies:
  connectivity_validator: ^0.0.5
flutter pub get

Platform setup #

Android — Add to AndroidManifest.xml if needed:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

iOS

  • Swift Package Manager (default) — No extra setup. Flutter uses SPM for the plugin.
  • CocoaPods — If your project uses CocoaPods for this plugin, run in the project root:
    cd ios && pod install && cd ..
    

Usage #

import 'package:connectivity_validator/connectivity_validator.dart';

final validator = ConnectivityValidator();

validator.onConnectivityChanged.listen((isOnline) {
  if (isOnline) {
    // Internet validated
  } else {
    // No internet or captive portal
  }
});

Get initial state and listen to changes:

final validator = ConnectivityValidator();

// Get initial state
final initialStatus = await validator.onConnectivityChanged.first;
print('Initial status: ${initialStatus ? "Online" : "Offline"}');

// Listen to changes
validator.onConnectivityChanged.listen((isOnline) {
  print('Connectivity changed: ${isOnline ? "Online" : "Offline"}');
});

In UI (e.g. StreamBuilder):

StreamBuilder<bool>(
  stream: ConnectivityValidator().onConnectivityChanged,
  initialData: false,
  builder: (context, snapshot) {
    final isOnline = snapshot.data ?? false;
    return Text(isOnline ? 'Online' : 'Offline');
  },
)

Documentation #

Example app #

cd example && flutter pub get && flutter run

Contributing #

Contributions welcome. See the GitHub repo.

License #

See LICENSE.

6
likes
160
points
241
downloads

Documentation

API reference

Publisher

verified publisherpc-builders.in

Weekly Downloads

A robust internet connectivity checker that validates actual network access using native Android (NET_CAPABILITY_VALIDATED) and iOS (NWPathMonitor) APIs.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on connectivity_validator

Packages that implement connectivity_validator