[flutter] 플러터에서 device_info 패키지를 이용하여 디바이스의 보이스 콜 기능 지원 여부 확인하기

플러터(Flutter) 앱을 개발하다보면, 디바이스의 보이스 콜 기능을 지원하는지 확인해야 할 때가 있을 수 있습니다. 이때 device_info 패키지를 사용하면 간단하게 디바이스의 정보를 가져와서 보이스 콜 기능을 지원하는지 여부를 확인할 수 있습니다.

device_info 패키지 설치하기

먼저, pubspec.yaml 파일에 device_info 패키지를 아래와 같이 추가해주세요.

dependencies:
  device_info: ^2.0.3

그리고, 패키지를 설치하기 위해 터미널을 열고 다음 명령어를 실행해주세요.

$ flutter pub get

device_info 패키지를 이용하여 보이스 콜 기능 지원 여부 확인하기

device_info 패키지를 사용하면 어떤 디바이스에서 앱이 실행되고 있는지 알 수 있습니다. 이 정보를 가지고 보이스 콜 기능을 지원하는지 여부를 확인할 수 있습니다.

import 'package:device_info/device_info.dart';

bool isVoiceCallSupported() {
  if (Platform.isAndroid) {
    AndroidDeviceInfo androidInfo = DeviceInfoPlugin().androidInfo;
    return androidInfo.hasSystemFeature('android.hardware.telephony');
  } else if (Platform.isIOS) {
    IosDeviceInfo iosInfo = DeviceInfoPlugin().iosInfo;
    return false; // iOS에서 보이스 콜 기능 지원 여부 확인은 안됨 (기본적으로 지원됨)
  } else {
    return false; // 다른 플랫폼은 보이스 콜 기능 지원 여부 확인이 안됨
  }
}

위 예제 코드는 플랫폼별로 디바이스 정보를 가져와서 안드로이드의 경우 ‘android.hardware.telephony’ 시스템 피처를 가지고 있는지 확인합니다. 가지고 있다면 보이스 콜 기능을 지원하는 것으로 간주됩니다.

사용 예시

위에서 정의한 isVoiceCallSupported() 함수를 호출하여 보이스 콜 기능을 지원하는지 여부를 확인할 수 있습니다.

bool isSupported = isVoiceCallSupported();

if (isSupported) {
  print("보이스 콜 기능을 지원합니다.");
} else {
  print("보이스 콜 기능을 지원하지 않습니다.");
}

위 예제는 보이스 콜 기능을 지원하는지 여부를 확인하여 그 결과를 출력하는 간단한 예시입니다.

참고 자료