[Flutter] 폰에 저장된 연락처 가져오는법

제리·2021년 12월 22일
0

1. pubspec.yaml 파일가서 패키지설치한다.

  • contacts_sevice:^0.6.3 추가하고 Pubget!

(pubspec.yaml)

dependencies:
  flutter:
    sdk: flutter
  permission_handler: ^8.3.0
  contacts_service: ^0.6.3

2. main.dart 가서 패키지 import 한다.

(main.dart)

import 'package:contacts_service/contacts_service.dart';

3. 쓰고싶은 함수에 가서 contacts 변수로 가져온다.

  • ContactsService.getContacts() 함수로 연락처 정보를 가져올 수 있다.
  getPermission() async{
    var status = await Permission.contacts.status;
    if(status.isGranted){
      print('허락됨');
      // 변수 가져오기!
      var contacts = await ContactsService.getContacts();
      print(contacts[0].displayName);
    } else if (status.isDenied){
      print('거절됨');
      Permission.contacts.request(); // 허락해달라고 팝업띄우는 코드
    }
  }

4. setState() 함수로 contacts 변수를 ListTile에 데이터 넘겨서 출력한다.

(getPermission 함수)

      setState(() {
        name = contacts;
      });

(body Container 속 ListBuilder위젯)

child: ListTile(
                  leading: CircleAvatar(backgroundImage: AssetImage('assets/images/code.png'),radius: 28,),
                  title: Text(name[i].displayName),
                ),

참고) 사용자 연락처에 새로운 데이터 추가하는법

  • newPerson이라는 클래스 생성해서 addContact() 함수로 추가할 수 있다.
      var newPerson = Contact();
      newPerson.givenName = '민수';
      newPerson.familyName = '김';
      await ContactsService.addContact(newPerson);
profile
iOS 준비중

0개의 댓글