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