Как постоянно проверять подключение с помощью подключения и Getx в Flutter?

#flutter #connectivity #flutter-getx #dart-null-safety

Вопрос:

 import 'dart:async'; import 'package:connectivity/connectivity.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart';  class NetworkController extends GetxController {  int connectionType = 0;  //Instance of Flutter Connectivity  final Connectivity _connectivity = Connectivity();  //Stream to keep listening to network change state  late StreamSubscription _streamSubscription;  @override  void onInit() {  GetConnectionType();  _streamSubscription =_connectivity.onConnectivityChanged.listen(_updateState);  }  Futurelt;voidgt; GetConnectionType() async {  dynamic connectivityResult; try {  connectivityResult = await (_connectivity.checkConnectivity()); } on PlatformException catch (e) {  print(e); } return _updateState(connectivityResult); } _updateState(ConnectivityResult result) {  switch (result) {  case ConnectivityResult.wifi:  connectionType = 1;  update();  break;  case ConnectivityResult.mobile:  connectionType = 2;  update();  break;  case ConnectivityResult.none:  connectionType = 0;  update();  break;  default:  Get.snackbar('Network Error', 'Failed to get Network Status');  break;  } } @override void onClose() {  _streamSubscription.cancel(); } }  

и файл привязки

 import 'package:ecommerce_app/core/view_model/network_controller.dart'; import 'package:get/get.dart'; import 'package:ecommerce_app/core/view_model/auth_view_model.dart';  class Binding implements Bindings {  @override  void dependencies() {  Get.lazyPutlt;NetworkControllergt;(() =gt; NetworkController());  Get.lazyPutlt;AuthViewModelgt;(() =gt; AuthViewModel()); } }  

Основной файл дротика

Все, что я хочу сделать, это то, что если соединение отключено, я перенаправлю его на страницу ошибки, так как проверить подключение через все приложение? Мои Вопросы Таковы:

  1. Как проверить подключение через все приложение
  2. Как перенаправить на Страницу с ошибкой, когда Соединение отключено