DEV Community

ldflutter
ldflutter

Posted on

Network Connectivity Flutter

  1. Install get Package
  2. Install connectivity_plus Package
  3. Create a dart file for connectivity
import 'dart:io';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

class NetworkController extends GetxController {
  final Connectivity _connectivity = Connectivity();

  @override
  void onInit() {
    super.onInit();
    _connectivity.onConnectivityChanged.listen(_updateConnectionStatus);
  }

  void _updateConnectionStatus(ConnectivityResult connectivityResult) {
    if (connectivityResult == ConnectivityResult.none) {
      Get.rawSnackbar(
        snackPosition: SnackPosition.BOTTOM,
        borderRadius: 16,
        messageText: Text(
          "PLEASE CONNECT TO THE INTERNET",
          style: TextStyle(color: Colors.white, fontSize: 14, fontWeight: FontWeight.normal),
        ),
        isDismissible: false,
        duration: const Duration(days: 1),
        backgroundColor: Colors.red.shade400,
        icon: Icon(Icons.wifi_off, color: Colors.white, size: 25),
        margin: EdgeInsets.symmetric(horizontal: 10, vertical: Platform.isAndroid ? 2 : 0),
        snackStyle: SnackStyle.FLOATING,
      );
    } else {
      if (Get.isSnackbarOpen) {
        Get.closeCurrentSnackbar();
      }
    }
  }
}

class ConnectivityChecker {
  Future<bool> checkConnectivity() async {
    ConnectivityResult connectivityResult = await (Connectivity().checkConnectivity());

    if (connectivityResult == ConnectivityResult.mobile || connectivityResult == ConnectivityResult.wifi) {
      print("Device connected with internet");
      return true;
    } else {
      print("Device not connected with internet");
      return false;
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)