Использование средства выбора контактов в приложении UWP для выбора контакта, как описано здесь работает на ПК правильно, в то время как на мобильном устройстве оно может возвращать только поля имен (Имя, Имя, Фамилия, Полное имя), ноничто другое, например, адреса, телефоны, электронные письма и т. д.
var contactPicker = new Windows.ApplicationModel.Contacts.ContactPicker();
Contact contact = await contactPicker.PickContactAsync();
if (contact != null)
{
string xx = "";
if (contact.Addresses.Count > 0)
{
if (!String.IsNullOrEmpty(contact.Addresses[0].Country)) xx+="Country: "+ contact.Addresses[0].Country+"\n";
if (!String.IsNullOrEmpty(contact.Addresses[0].Description)) xx+="Description: "+ contact.Addresses[0].Description+"\n";
if (!String.IsNullOrEmpty(contact.Addresses[0].Locality)) xx+="Locality: "+ contact.Addresses[0].Locality+"\n";
if (!String.IsNullOrEmpty(contact.Addresses[0].PostalCode)) xx+="PostalCode: "+ contact.Addresses[0].PostalCode+"\n";
if (!String.IsNullOrEmpty(contact.Addresses[0].Region)) xx+="Region: "+ contact.Addresses[0].Region+"\n";
if (!String.IsNullOrEmpty(contact.Addresses[0].StreetAddress)) xx+="StreetAddress: "+ contact.Addresses[0].StreetAddress+"\n";
}
if (!String.IsNullOrEmpty(contact.DisplayName)) xx+="DisplayName: "+ contact.Addresses[0].DisplayName+"\n";
if (!String.IsNullOrEmpty(contact.DisplayNameOverride)) xx+="DisplayNameOverride: "+ contact.Addresses[0].DisplayNameOverride+"\n";
if (contact.Emails.Count > 0)
{
if (!String.IsNullOrEmpty(contact.Emails[0].Address)) xx+="Email: "+ contact.Addresses[0].Address+"\n";
}
if (!String.IsNullOrEmpty(contact.FirstName)) xx+="FirstName: "+ contact.Addresses[0].FirstName+"\n";
if (!String.IsNullOrEmpty(contact.FullName)) xx+="FullName: "+ contact.Addresses[0].FullName+"\n";
if (!String.IsNullOrEmpty(contact.LastName)) xx+="LastName: "+ contact.Addresses[0].LastName+"\n";
if (!String.IsNullOrEmpty(contact.MiddleName)) xx+="MiddleName: "+ contact.Addresses[0].MiddleName+"\n";
if (!String.IsNullOrEmpty(contact.Name)) xx+="Name: "+ contact.Addresses[0].Name+"\n";
if (!String.IsNullOrEmpty(contact.Nickname)) xx+="Nickname: "+ contact.Addresses[0].Nickname+"\n";
if (contact.Phones.Count > 0)
{
if (!String.IsNullOrEmpty(contact.Phones[0].Number)) xx+="Phone: "+ contact.Addresses[0].Number+"\n";
}
textBlock.Text = xx;
}
, не работает на ПК правильно и отображает данные выбранного контакта. Но при запуске на мобильном устройстве с Win 10 Mobile отображаются только имена выбранного контакта.