Udostępnij za pośrednictwem


Xamarin.Essentials:Kontakty

Klasa Kontakty umożliwia użytkownikowi wybranie kontaktu i pobranie informacji o nim.

Rozpocznij

Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.

Aby uzyskać dostęp do funkcji Kontakty , wymagana jest następująca konfiguracja specyficzna dla platformy.

Uprawnienie ReadContacts jest wymagane i musi być skonfigurowane w projekcie systemu Android. Można to dodać w następujący sposób:

Otwórz plik AssemblyInfo.cs w folderze Właściwości i dodaj:

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

LUB Zaktualizuj manifest systemu Android:

Otwórz plik AndroidManifest.xml w folderze Właściwości i dodaj następujący element w węźle manifestu.

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

Możesz też kliknąć prawym przyciskiem myszy projekt systemu Android i otworzyć właściwości projektu. W obszarze Manifest systemu Android znajdź wymagane uprawnienia: obszar i sprawdź to uprawnienie. Spowoduje to automatyczne zaktualizowanie pliku AndroidManifest.xml .

Wybierz kontakt

Wywołanie Contacts.PickContactAsync() okna dialogowego kontaktu spowoduje wyświetlenie i zezwolenie użytkownikowi na odbieranie informacji o użytkowniku.

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.
}

Pobieranie wszystkich kontaktów

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.
}

Różnice między platformami

  • Parametr cancellationToken w metodzie GetAllAsync jest używany tylko w systemie UWP.

interfejs API