Xamarin.Essentials:Contatti

La classe Contacts consente a un utente di selezionare un contatto e di recuperarne le informazioni.

Operazioni preliminari

Per iniziare a usare questa API, leggere la guida introduttiva per Xamarin.Essentials assicurarsi che la libreria sia installata e configurata correttamente nei progetti.

Per accedere alla funzionalità Contatti è necessaria la configurazione specifica della piattaforma seguente.

L'autorizzazione ReadContacts è obbligatoria e deve essere configurata nel progetto Android. È possibile aggiungerla nei modi seguenti:

Aprire il file AssemblyInfo.cs nella cartella Proprietà e aggiungere:

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

OPPURE aggiornare il manifesto di Android:

Aprire il file AndroidManifest.xml nella cartella Proprietà e aggiungere quanto segue all'interno del nodo manifest.

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

Oppure fare clic con il pulsante destro del mouse sul progetto Android e aprire le proprietà del progetto. In Manifesto Android trovare l'area Autorizzazioni necessarie: e controllare questa autorizzazione. Il file AndroidManifest.xml verrà aggiornato automaticamente.

Selezionare un contatto

Contacts.PickContactAsync() Chiamando la finestra di dialogo di contatto verrà visualizzata e l'utente potrà ricevere informazioni sull'utente.

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

Ottenere tutti i contatti

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

Differenze tra le piattaforme

  • Il cancellationToken parametro nel GetAllAsync metodo viene usato solo in UWP.

API