[flutter] device_info 라이브러리를 활용하여 디바이스의 Wi-Fi 연결 상태 알아내기

소개

앱 개발 중에 종종 디바이스의 Wi-Fi 연결 상태를 확인해야 할 때가 있습니다. 이번 포스팅에서는 Flutter에서 device_info 라이브러리를 활용하여 디바이스의 Wi-Fi 연결 상태를 알아내는 방법을 소개합니다.

device_info 라이브러리

device_info 라이브러리는 Flutter 앱에서 디바이스의 정보를 얻을 수 있는 패키지입니다. 이 라이브러리를 사용하면 Android와 iOS 플랫폼에서 디바이스 정보를 손쉽게 액세스할 수 있습니다.

Wi-Fi 연결 상태 확인하기

먼저, device_info 라이브러리를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 아래와 같이 라이브러리를 추가해주세요.

dependencies:
  flutter:
    sdk: flutter
  device_info: ^1.0.0

프로젝트를 업데이트한 후, main.dart 파일에서 device_info 라이브러리를 import 합니다.

import 'package:device_info/device_info.dart';

main() 함수 안에서 아래의 코드를 추가하여 Wi-Fi 연결 상태를 확인할 수 있습니다.

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo;
IosDeviceInfo iosInfo;

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  try {
    if (Platform.isAndroid) {
      androidInfo = await deviceInfo.androidInfo;
      print("Wi-Fi 상태: ${androidInfo.wifiEnabled}");
    } else if (Platform.isIOS) {
      iosInfo = await deviceInfo.iosInfo;
      print("Wi-Fi 상태: ${iosInfo.wifiEnabled}");
    }
  } catch (e) {
    print("Wi-Fi 상태 알 수 없음");
  }

  runApp(MyApp());
}

위의 코드에서 deviceInfo 객체를 생성한 후, 플랫폼에 따라 각각의 DeviceInfo 객체를 얻습니다. 그리고 해당 DeviceInfo 객체의 wifiEnabled 속성을 확인하여 Wi-Fi 연결 상태를 출력합니다.

결론

device_info 라이브러리를 활용하여 Flutter 애플리케이션에서 디바이스의 Wi-Fi 연결 상태를 확인할 수 있습니다. 이를 활용하여 앱의 기능을 조절하거나 사용자에게 상황을 보여줄 수 있습니다.

참고 자료