Xamarin.Essentials:接觸

Contacts 類別可讓使用者挑選聯繫人,並擷取其相關信息。

開始使用

若要開始使用此 API,請閱讀 入門指南Xamarin.Essentials,以確保連結庫已正確安裝並設定在您的專案中。

若要存取 聯繫人 功能,需要下列平臺特定設定。

需要 ReadContacts 權限,而且必須在 Android 專案中設定。 能以下列方式新增:

開啟 [Properties] 資料夾下的 AssemblyInfo.cs 檔案並新增:

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

或更新 Android 資訊清單:

開啟 [Properties] 資料夾下的 AndroidManifest.xml 檔案並在 [manifest] 節點內新增下列內容。

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

禍以滑鼠右鍵按一 Android 專案並開啟專案的屬性。 在 [Android 指令清單] 下,尋找 [必要許可權:] 區域,並檢查此許可權。 這將會自動更新 AndroidManifest.xml 檔案。

挑選聯繫人

藉由呼叫 Contacts.PickContactAsync() 聯繫人對話框,將會出現,並允許使用者接收使用者的相關信息。

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

取得所有聯繫人

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

平台差異

  • cancellationToken方法中的 GetAllAsync 參數只會在UWP上使用。

API