connectivity_plus: 導入 使い方 - Ki-Kobayashi/flutter_wiki GitHub Wiki

🟩 connectivity_plus公式よりインストール

https://pub.dev/packages/connectivity_plus

.

🟩Riverpodを使用:設定

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;

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

🟩

🟡

.

⚠️ **GitHub.com Fallback** ⚠️