#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()); } }
Все, что я хочу сделать, это то, что если соединение отключено, я перенаправлю его на страницу ошибки, так как проверить подключение через все приложение? Мои Вопросы Таковы:
- Как проверить подключение через все приложение
- Как перенаправить на Страницу с ошибкой, когда Соединение отключено