Я использую Flutter с помощью Connectivity_plus и Getx для управления подключением к Интернету во всем мире в моем приложении. Он всегда печатает истинно, даже когда Wi -Fi выключен.
// main.dart
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialize global controller
Get.put(ConnectivityController());
runApp(const MyApp());
}
// connectivity_controller.dart
class ConnectivityController extends GetxController {
RxBool isConnected = true.obs;
RxBool isInitialized = false.obs;
@override
void onInit() {
super.onInit();
_initConnectivity();
}
Future _initConnectivity() async {
try {
final result = await Connectivity().checkConnectivity();
isConnected.value = result != ConnectivityResult.none;
isInitialized.value = true;
Connectivity().onConnectivityChanged.listen((status) {
final newValue = status != ConnectivityResult.none;
if (isConnected.value != newValue) {
isConnected.value = newValue;
}
});
} catch (e) {
isConnected.value = false;
isInitialized.value = true;
}
}
}
// Проверить в виджет
GestureDetector(
onTap: () {
print('check........');
print(_connectivityController.isConnected.value);
},
child: Icon(CupertinoIcons.hand_draw),
),
Подробнее здесь: https://stackoverflow.com/questions/795 ... ifi-toggle
Flutter Connectivity_plus не обновляя getx, наблюдаемый на Wi -Fi Toggle ⇐ IOS
Программируем под IOS
1745548278
Anonymous
Я использую Flutter с помощью Connectivity_plus и Getx для управления подключением к Интернету во всем мире в моем приложении. Он всегда печатает истинно, даже когда Wi -Fi выключен.
// main.dart
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialize global controller
Get.put(ConnectivityController());
runApp(const MyApp());
}
// connectivity_controller.dart
class ConnectivityController extends GetxController {
RxBool isConnected = true.obs;
RxBool isInitialized = false.obs;
@override
void onInit() {
super.onInit();
_initConnectivity();
}
Future _initConnectivity() async {
try {
final result = await Connectivity().checkConnectivity();
isConnected.value = result != ConnectivityResult.none;
isInitialized.value = true;
Connectivity().onConnectivityChanged.listen((status) {
final newValue = status != ConnectivityResult.none;
if (isConnected.value != newValue) {
isConnected.value = newValue;
}
});
} catch (e) {
isConnected.value = false;
isInitialized.value = true;
}
}
}
// Проверить в виджет
GestureDetector(
onTap: () {
print('check........');
print(_connectivityController.isConnected.value);
},
child: Icon(CupertinoIcons.hand_draw),
),
Подробнее здесь: [url]https://stackoverflow.com/questions/79590225/flutter-connectivity-plus-not-updating-getx-observable-on-wifi-toggle[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия