Xamarin.Essentials:Contacts
La classe Contacts permet à un utilisateur de choisir un contact et de récupérer des informations à son sujet.
Démarrage
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 le faire de plusieurs façons, comme indiqué ci-dessous :
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 dans le nœud du manifeste.
<uses-permission android:name="android.permission.READ_CONTACTS" /> />
Ou cliquez avec le bouton droit sur le projet Android et ouvrez les propriétés du projet. Sous Manifeste Android, recherchez les autorisations requises : zone et vérifiez cette autorisation. Cela met automatiquement à jour le fichier AndroidManifest.xml.
Choisir un contact
L’appel Contacts.PickContactAsync()
de 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 selon les plateformes
- Le
cancellationToken
paramètre de laGetAllAsync
méthode est utilisé uniquement sur UWP.