Search packages, repositories and app categories

flutter_network_connectivity cover
Package detailsv0.0.6

flutter_network_connectivity

A Flutter Plugin to check for live network connectivity status. Plugin uses NetworkCapabilities for Android and NetworkMonitor for iOS.

AndroidiOS
30-day downloads
270
Likes
43
Pub points
140

Install package

flutter pub add flutter_network_connectivity

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter plugin that enables real-time monitoring of network connectivity status on Android and iOS devices. It leverages native system APIs—NetworkCapabilities on Android and NetworkMonitor on iOS—to provide accurate, up-to-date information about whether a device is connected to the internet. The plugin is lightweight and designed for seamless integration into apps requiring network awareness, such as those needing to adapt behavior based on connection availability. It supports both Wi-Fi and mobile data detection and emits events when connectivity changes occur.

Use cases

  • Real-time network status checks
  • Offline mode handling
  • Dynamic UI updates based on connectivity
  • Background connectivity monitoring
  • App resilience during network fluctuations

Key features

  • Cross-platform support (Android & iOS)
  • Uses native system APIs for accuracy
  • Real-time connectivity event emission
  • Lightweight and easy to integrate
  • Supports Wi-Fi and mobile data detection

Suitable for

  • Apps requiring network awareness
  • Offline-capable applications
  • Background service integrations
  • User experience optimization based on connectivity
  • Developers seeking reliable connectivity checks

Considerations

  • Requires platform-specific permissions
  • May not detect all edge cases like captive portals
  • Limited to connectivity status, not bandwidth or quality
  • Depends on native implementation stability
  • No built-in retry logic for failed connections

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Flutter Network Connectivity

Pub

A flutter plugin to check for Internet Availability as a stream based on network connectivity status, periodic interval or on call.

Usage

First, add flutter_network_connectivity as a dependency in your pubspec.yaml file.

dependencies:
  flutter_network_connectivity: ^0.0.6

Don't forget to flutter pub get.

Then import:

import 'package:flutter_network_connectivity/flutter_network_connectivity.dart';

Now you can create FlutterNetworkConnectivity object and use its methods

FlutterNetworkConnectivity flutterNetworkConnectivity =
    FlutterNetworkConnectivity(
	  isContinousLookUp: true,  // optional, false if you don't want continous lookup
	  lookUpDuration: const Duration(seconds: 5),  // optional, to override default lookup duration
	  lookUpUrl: 'example.com',  // optional, to override default lookup url
	);
To Check for Stream of Network Connectivity Status
_flutterNetworkConnectivity.getInternetAvailabilityStream().listen((isInternetAvailable) {
  // do something
});

Then Register Availability Listener after setting up Stream Listerer

await _flutterNetworkConnectivity.registerAvailabilityListener();

Unregister on dispose

await _flutterNetworkConnectivity.unregisterAvailabilityListener();
To Check for Internet Availability on Call
bool _isNetworkConnectedOnCall = await
    _flutterNetworkConnectivity.isInternetConnectionAvailable();
Examples

Simple usage example can be found in the example folder.

Android

Uses permission

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

Minimum SDK Version 16

iOS

Uses NetworkMonitor, minimum required version 12.0

Demo

Screenshot

About

This plugin uses NetworkCapabilities for Android and NetworkMonitor for iOS to check for network connectivity status.

Contributing?

You're always welcome. See Contributing Guidelines. You can also take a look at Status Tracker to know more information about current or pending features/issues.

Categories

Source repository

Projects using this package

No data available yet.