Xamarin.Essentials: Kontaktpersonen
Die Contacts-Klasse ermöglicht einem Benutzer, einen Kontakt auszuwählen und Informationen über diesen abzurufen.
Erste Schritte
Lesen Sie zum Einstieg in die Verwendung dieser API den Leitfaden mit ersten Schritte für Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.
Für den Zugriff auf die Funktion Kontakte ist die folgende plattformspezifische Einrichtung erforderlich.
Die Berechtigung ReadContacts
ist obligatorisch und muss im Android-Projekt konfiguriert werden. Das Hinzufügen erfolgt folgendermaßen:
Öffnen Sie die Datei AssemblyInfo.cs im Ordner Eigenschaften und fügen Sie Folgendes hinzu:
[assembly: UsesPermission(Android.Manifest.Permission.ReadContacts)]
Alternativ können Sie das Android-Manifest aktualisieren:
Öffnen Sie die Datei AndroidManifest.xml im Ordner Eigenschaften, und fügen Sie Folgendes im Knoten Manifest hinzu.
<uses-permission android:name="android.permission.READ_CONTACTS" /> />
Alternativ können Sie mit der rechten Maustaste auf das Android-Projekt klicken und die Eigenschaften des Projekts öffnen. Suchen Sie unter Android-Manifest den Bereich Erforderliche Berechtigungen: , und aktivieren Sie diese Berechtigung. Dadurch wird die Datei AndroidManifest.xml automatisch aktualisiert.
Auswählen eines Kontakts
Durch Aufrufen von Contacts.PickContactAsync()
wird das Dialogfeld „Kontakt“ angezeigt, und der Benutzer kann Informationen über den Benutzer abrufen.
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.
}
Abrufen aller Kontakte
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.
}
Plattformunterschiede
- Der
cancellationToken
-Parameter in derGetAllAsync
-Methode wird nur auf der UWP verwendet.