你好,我正在使用RiverPod来判断整个应用程序的互联网连接,但是状态通知程序只给出了初始状态值,或者我应该看到它的值没有改变. 还有,是的,我正在更新状态,你可以在代码中看到它.
InternetProvider.dart:个
import 'package:internet_connection_checker_plus/internet_connection_checker_plus.dart';
import 'package:riverpod/riverpod.dart';
class ConnectivityStatusNotifier extends StateNotifier<bool> {
ConnectivityStatusNotifier() : super(false);
void checkInternet() {
final listener =
InternetConnection().onStatusChange.listen((InternetStatus status) {
if (status == InternetStatus.connected) {
state = true;
}
else{
state = false;
}
});
}
}
final connectivityProvider =
StateNotifierProvider<ConnectivityStatusNotifier, bool>((ref) {
return ConnectivityStatusNotifier();
});
In HomeScreen.dart:个
final internet = ref.watch(connectivityProvider);
final Widget floatingActionButton = FloatingActionButton(
onPressed: () {
print(internet);
},
child: const Icon(Icons.chat),
);
无论互联网是否连接,它总是错误的
我也try 过Connectivity_plus程序包,但也不起作用. 我也试过这个:medium.com这个也不起作用,这个也提供了初始状态,即ConnectivityStatus.Connected.