Xamarin.Essentials:Contatos

A classe Contacts permite que um usuário escolha um contato e recupere informações sobre ele.

Introdução

Para começar a usar essa API, leia o guia de introdução para Xamarin.Essentials garantir que a biblioteca esteja instalada e configurada corretamente em seus projetos.

Para acessar a funcionalidade Contatos , é necessária a seguinte configuração específica da plataforma.

A permissão ReadContacts é necessária e deve ser configurada no projeto do Android. Isso pode ser usado das seguintes maneiras:

Abra o arquivo AssemblyInfo.cs na pasta Propriedades e adicione:

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

OU Atualize o Manifesto do Android:

Abra o arquivo AndroidManifest.xml na pasta Propriedades e adicione o seguinte dentro do nó do manifesto.

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

Ou clique com o botão direito do mouse no projeto do Android e abra as propriedades do projeto. Em Manifesto do Android, localize a área Permissões necessárias: e marque essa permissão. Isso atualizará automaticamente o arquivo AndroidManifest.xml.

Escolher um contato

Ao chamar Contacts.PickContactAsync() a caixa de diálogo de contato aparecerá e permitirá que o usuário receba informações sobre o usuário.

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

Obter todos os contatos

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

Diferenças de plataforma

  • O cancellationToken parâmetro no GetAllAsync método só é usado na UWP.

API