Xamarin.Essentials:연락처

사용자는 연락처 클래스를 사용하여 연락처를 선택하고 관련 정보를 검색할 수 있습니다.

시작하기

이 API를 사용하기 전에 라이브러리가 제대로 설치되고 프로젝트에 설정되어 있는지 확인하기 위해 Xamarin.Essentials에 대한 시작 가이드를 읽어보세요.

연락처 기능에 액세스하려면 다음 플랫폼 관련 설정이 필요합니다.

ReadContacts 권한이 필요하며 Android 프로젝트에서 구성해야 합니다. 이 권한은 다음과 같은 방법으로 추가할 수 있습니다.

속성 폴더 아래의 AssemblyInfo.cs 파일을 열고 다음을 추가합니다.

[assembly: UsesPermission(Android.Manifest.Permission.ReadContacts)]

또는 Android 매니페스트를 업데이트합니다.

속성 폴더 아래의 AndroidManifest.xml 파일을 열고 매니페스트 노드 내부에 다음을 추가합니다.

<uses-permission android:name="android.permission.READ_CONTACTS" /> />

또는 Android 프로젝트를 마우스 오른쪽 단추로 클릭하고 프로젝트의 속성을 엽니다. Android 매니페스트 아래에서 필요한 권한: 영역을 찾아 이 권한을 선택합니다. 그러면 AndroidManifest.xml 파일이 자동으로 업데이트됩니다.

연락처 선택

Contacts.PickContactAsync()를 호출하여 연락처 대화 상자를 표시하고 사용자가 사용자에 대한 정보를 받을 수 있습니다.

try
{
    var contact = await Contacts.PickContactAsync();

    if(contact == null)
        return;

    var id = contact.Id;
    var namePrefix = contact.NamePrefix;
    var givenName = contact.GivenName;
    var middleName = contact.MiddleName;
    var familyName = contact.FamilyName;
    var nameSuffix = contact.NameSuffix;
    var displayName = contact.DisplayName;
    var phones = contact.Phones; // List of phone numbers
    var emails = contact.Emails; // List of email addresses
}
catch (Exception ex)
{
    // Handle exception here.
}

모든 연락처 가져오기

ObservableCollection<Contact> contactsCollect = new ObservableCollection<Contact>();

try
{
    // cancellationToken parameter is optional
    var cancellationToken = default(CancellationToken);
    var contacts = await Contacts.GetAllAsync(cancellationToken);

    if (contacts == null)
        return;

    foreach (var contact in contacts)
        contactsCollect.Add(contact);
}
catch (Exception ex)
{
    // Handle exception here.
}

플랫폼 간 차이점

  • GetAllAsync 메서드의 cancellationToken 매개 변수는 UWP에서만 사용됩니다.

API