[flutter] device_info 라이브러리를 사용하여 디바이스의 전화 상태 체크하기

안녕하세요! 이번에는 Flutter에서 device_info 라이브러리를 사용하여 디바이스의 전화 상태를 체크하는 방법에 대해 알아보겠습니다.

device_info 라이브러리란?

device_info 라이브러리는 Flutter 앱에서 현재 실행 중인 디바이스의 정보를 가져오는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 디바이스의 특정 정보를 확인할 수 있습니다. 이 중에서 전화 상태를 체크하는 방법에 대해 살펴보겠습니다.

device_info 라이브러리 설치하기

먼저, pubspec.yaml 파일의 dependencies 섹션에 아래와 같이 device_info 라이브러리를 추가합니다.

dependencies:
  device_info: ^0.4.2+4

그런 다음, 터미널을 열고 프로젝트의 루트 디렉토리에서 다음 명령을 실행하여 라이브러리를 설치합니다.

$ flutter pub get

전화 상태 체크하기

디바이스의 전화 상태를 체크하기 위해 라이브러리를 사용하려면 먼저 device_info 패키지를 가져와야 합니다. 아래와 같이 import 문을 추가해주세요.

import 'package:device_info/device_info.dart';

그런 다음, 아래의 코드를 사용하여 디바이스의 전화 상태를 체크할 수 있습니다.

void checkPhoneState() async {
  DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  if (Platform.isAndroid) {
    AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
    if (androidInfo.phoneType == PhoneType.none) {
      print("디바이스는 전화를 지원하지 않습니다.");
    } else {
      print("디바이스는 전화를 지원합니다.");
    }
  } else if (Platform.isIOS) {
    IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
    if (iosInfo.name.contains("iPad")) {
      print("디바이스는 iPad입니다.");
    } else {
      print("디바이스는 iPhone입니다.");
    }
  }
}

위의 코드를 보면, checkPhoneState 함수는 DeviceInfoPlugin 인스턴스를 생성하고, 플랫폼에 따라 Android 또는 iOS 정보를 가져옵니다. 그리고 phoneType 또는 name을 통해 전화 상태를 체크한 후 결과를 출력합니다.

실행 결과

앱을 실행하고 해당 함수를 호출하면 디바이스의 전화 상태를 알 수 있습니다. 이를 기반으로 필요한 로직을 추가하여 앱을 개발할 수 있습니다.

이상으로 device_info 라이브러리를 사용하여 디바이스의 전화 상태를 체크하는 방법에 대해 알아보았습니다. 참고하시기 바랍니다. 감사합니다.

참고 자료