mgs_connectivity_check 1.0.0 copy "mgs_connectivity_check: ^1.0.0" to clipboard
mgs_connectivity_check: ^1.0.0 copied to clipboard

A customizable Flutter connectivity checker with internet validation and automatic no-internet dialog support.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:mgs_connectivity_check/mgs_connectivity_check.dart';

void main() {
  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: ExampleHomeScreen(),
    );
  }
}

class ExampleHomeScreen extends StatefulWidget {
  const ExampleHomeScreen({super.key});

  @override
  State<ExampleHomeScreen> createState() => _ExampleHomeScreenState();
}

class _ExampleHomeScreenState extends State<ExampleHomeScreen> {

  @override
  void initState() {
    super.initState();

    /// Automatically listen and show dialog when there is no internet
    WidgetsBinding.instance.addPostFrameCallback((_) {
      MgsConnectivityCheck
          .listenChangeInInternetConnectivityWithDialog(
        context: context,
        title: "No Internet Connection",
        message: "Please check your internet and try again.",
        buttonColor: Colors.red,
      );
    });
  }

  @override
  void dispose() {
    /// IMPORTANT: Stop listener to prevent memory leaks
    MgsConnectivityCheck.dispose();
    super.dispose();
  }

  Future<void> _checkInternet() async {
    bool isConnected =
        await MgsConnectivityCheck.isConnectedToInternet();

    if (!mounted) return;

    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(
        content: Text(
          isConnected
              ? "✅ Internet Connected"
              : "❌ No Internet Connection",
        ),
      ),
    );
  }

  Future<void> _checkConnectionType() async {
    final types =
        await MgsConnectivityCheck.getConnectionTypes();

    if (!mounted) return;

    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(
        content: Text("Connection Type: $types"),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("mgs_connectivity_check Example"),
      ),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            ElevatedButton(
              onPressed: _checkInternet,
              child: const Text("Check Internet Manually"),
            ),
            const SizedBox(height: 20),
            ElevatedButton(
              onPressed: _checkConnectionType,
              child: const Text("Check Connection Type"),
            ),
          ],
        ),
      ),
    );
  }
}
4
likes
0
points
429
downloads

Publisher

unverified uploader

Weekly Downloads

A customizable Flutter connectivity checker with internet validation and automatic no-internet dialog support.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

connectivity_plus, flutter

More

Packages that depend on mgs_connectivity_check