connectivity_plus: 導入 使い方 - Ki-Kobayashi/flutter_wiki GitHub Wiki
https://pub.dev/packages/connectivity_plus
.
part 'app_providers.g.dart';
@Riverpod(keepAlive: true)
FutureOr<bool?> isOnline(IsOnlineRef ref) {
bool isOnline = true;
Connectivity().onConnectivityChanged.listen((result) {
(result == ConnectivityResult.none ||
result == ConnectivityResult.bluetooth)
? isOnline = false
: isOnline = true;
ref.state = AsyncValue.data(isOnline);
});
return ref.state.valueOrNull;
}
.
以下のようにbuild内などに定義し、取得したbool値で、Widgetの出しわけをする Listenしておいて、アラートを出すのもOKそう(oldValue: true, newValue: false)
final isOnline = ref.watch(isOnlineProvider).valueOrNull ?? false;
.
.
.
.
.
.
.