728x90

플러터에서 전화걸기를 하는 기능을 구현해보고 있다.

 

IconButton(
  iconSize: 30,
  icon: Icon(Icons.call),
  onPressed: (){
    launchUrl(Uri.parse('tel:${widget.mobileNO}'));
  },
),

 

url_launcher 패키지를 사용하는 것은 Direct 로 전화걸기가 되지 않고 2단계로 거치는 불편함이 있다.

 

그래서 https://pub.dev/packages/flutter_phone_direct_caller 패키지를 이용하여 구현해봤다.

 

화면 전환이 발생하면서 로그에 이런 메시지를 출력한다.

MSG_WINDOW_FOCUS_CHANGED 1 1

이러면서 앱이 초기상태로 변경되어 로그인 창이 나온다.

로그인 후 상태관리로 로그인 상태 표시를 확실하게 해줘야 하는가보다.

 

전화거는 코드는 아래와 같다.

IconButton(
  iconSize: 30,
  onPressed: () async {
    FlutterPhoneDirectCaller.callNumber(Utils.PhoneNO(mobileNO));
  },
  icon: Icon(Icons.call),
),

 

전화버튼은 IconButton 이 가장 무난한 거 같다. 크기도 적당히 조절할 수도 있어 편리한 거 같다.

DirectCall 을 하면 화면 갱신이 발생하는 현상을 방지하기 위한 방안을 찾아보고, 나중에 업데이트하고자 한다.

 

 

블로그 이미지

Link2Me

,