次の方法で共有


Xamarin.Essentials: 連絡先

Contacts クラスを使用すると、ユーザーは連絡先を選択して、それに関する情報を取得できます。

作業開始

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。

Contacts の機能にアクセスするには、次のプラットフォーム固有の設定が必要です。

ReadContacts アクセス許可が必要です。Android プロジェクト内で構成する必要があります。 これは次の方法で追加できます。

[プロパティ] フォルダーにある AssemblyInfo.cs ファイルを開き、以下を追加します。

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

または、Android マニフェストを追加します。

[プロパティ] フォルダーにある 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.
}

プラットフォームによる違い

  • GetAllAsync メソッドの cancellationToken パラメーターは、UWP でのみ使用されます。

API