Xamarin.Essentials:Kontakty
Klasa Kontakty umożliwia użytkownikowi wybranie kontaktu i pobranie informacji o nim.
Rozpocznij
Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.
Aby uzyskać dostęp do funkcji Kontakty , wymagana jest następująca konfiguracja specyficzna dla platformy.
Uprawnienie ReadContacts
jest wymagane i musi być skonfigurowane w projekcie systemu Android. Można to dodać w następujący sposób:
Otwórz plik AssemblyInfo.cs w folderze Właściwości i dodaj:
[assembly: UsesPermission(Android.Manifest.Permission.ReadContacts)]
LUB Zaktualizuj manifest systemu Android:
Otwórz plik AndroidManifest.xml w folderze Właściwości i dodaj następujący element w węźle manifestu.
<uses-permission android:name="android.permission.READ_CONTACTS" /> />
Możesz też kliknąć prawym przyciskiem myszy projekt systemu Android i otworzyć właściwości projektu. W obszarze Manifest systemu Android znajdź wymagane uprawnienia: obszar i sprawdź to uprawnienie. Spowoduje to automatyczne zaktualizowanie pliku AndroidManifest.xml .
Wybierz kontakt
Wywołanie Contacts.PickContactAsync()
okna dialogowego kontaktu spowoduje wyświetlenie i zezwolenie użytkownikowi na odbieranie informacji o użytkowniku.
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.
}
Pobieranie wszystkich kontaktów
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.
}
Różnice między platformami
- Parametr
cancellationToken
w metodzieGetAllAsync
jest używany tylko w systemie UWP.