Проблема, которую я хочу решить: получить всю информацию о контактах, такую как имя и номер мобильного телефона, записать ее в файл и сохранить в ISO.
- Как использовать SearchAsync, если я хочу искать доступные контактыв телефоне?
- Как перебрать возвращаемые результаты и записать в файл один за другим контакт в файл?
Вот код, который у меня есть:
private void btnSearch_Click(object sender, RoutedEventArgs e)
{
Contacts contacts = new Contacts();
contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contacts_SearchCompleted);
contacts.SearchAsync(displayName,FilterKind.DisplayName,null);
//search for all contacts
contacts.SearchAsync(string.Empty, FilterKind.None, null);
}
Обновление:
Приведенный ниже код вызывает ошибку NullException, если PhoneNumber пуст.Почему?
Как получить все возможные телефонные номера, кроме result.PhoneNumbers.FirstOrDefault().ToString();
Тот же вопрос для EmailAddresses
Использование для поиска всех контактов в телефоне:
contacts.SearchAsync(searchterm, FilterKind.None, null);
void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
int intTTL = e.Results.Count();
if (intTTL != 0)
{
MessageBox.Show(intTTL.ToString());
foreach (var result in e.Results)
{
string strTTL;
string strName = result.DisplayName;
string MobileNo = result.PhoneNumbers.FirstOrDefault().ToString();
strTTL = strName + "," + MobileNo;
MessageBox.Show(strTTL);
}
else
{
MessageBox.Show("You have not entered any contact info at all.");
}
}