Xamarin.Essentials:Contacts

La classe Contacts permet à un utilisateur de choisir un contact et de récupérer des informations à son sujet.

Bien démarrer

Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.

Pour accéder à la fonctionnalité Contacts , la configuration spécifique à la plateforme suivante est requise.

L’autorisation ReadContacts est obligatoire, et doit être configurée dans le projet Android. Vous pouvez l’ajouter des façons suivantes :

Ouvrez le fichier AssemblyInfo.cs sous le dossier Propriétés et ajoutez :

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

OU mettez à jour le manifeste Android :

Ouvrez le fichier AndroidManifest.xml sous le dossier Propriétés et ajoutez ce qui suit à l’intérieur du nœud manifeste .

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

Vous pouvez également cliquer avec le bouton droit sur le projet Android, et ouvrir les propriétés du projet. Sous Manifeste Android, recherchez la zone Autorisations requises : et case activée cette autorisation. Cela entraîne la mise à jour automatique du fichier AndroidManifest.xml.

Choisir un contact

En appelant Contacts.PickContactAsync() la boîte de dialogue contact s’affiche et permet à l’utilisateur de recevoir des informations sur l’utilisateur.

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

Obtenir tous les contacts

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

Différences de plateforme

  • Le cancellationToken paramètre de la GetAllAsync méthode est utilisé uniquement sur UWP.

API