Sdílet prostřednictvím


Xamarin.Essentials:Kontakty

Třída Kontakty umožňuje uživateli vybrat kontakt a načíst o něm informace.

Začínáme

Pokud chcete začít používat toto rozhraní API, přečtěte si úvodní příručkuXamarin.Essentials, abyste měli jistotu, že je knihovna správně nainstalovaná a nastavená ve vašich projektech.

Pro přístup k funkcím Kontakty se vyžaduje následující nastavení specifické pro danou platformu.

Oprávnění ReadContacts je povinné a musí být nakonfigurováno v projektu Android. Můžete ho přidat následujícími způsoby:

Otevřete soubor AssemblyInfo.cs ve složce Vlastnosti a přidejte:

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

NEBO Aktualizovat manifest Androidu:

Otevřete soubor AndroidManifest.xml ve složce Vlastnosti a do uzlu manifestu přidejte následující kód.

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

Nebo klikněte pravým tlačítkem na projekt Androidu a otevřete vlastnosti projektu. V části Manifest pro Android vyhledejte požadovaná oprávnění: oblast a zkontrolujte toto oprávnění. Tím se automaticky aktualizuje soubor AndroidManifest.xml .

Výběr kontaktu

Zavoláním Contacts.PickContactAsync() dialogového okna kontaktu se zobrazí a umožní uživateli přijímat informace o uživateli.

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

Získání všech kontaktů

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

Rozdíly mezi platformami

  • Parametr cancellationToken v GetAllAsync metodě se používá pouze pro UPW.

rozhraní API