今天做到Contacts的遍历,网上很多获取手机通讯录的方法,这里就不多说了。
这里主要是介绍每个联系的PhoneNumbers的遍历:
contacts.SearchCompleted += (s, args) =>
{
foreach (var contact in args.Results)
{
contactList.Add(contact);
//这里的contactList自己定义一个,List类型,ObservableCollection类型都可以。黑色字体不重要。
-------------华丽分割线,下面是我要说的--------------
IEnumerator pns = contact.PhoneNumbers.GetEnumerator();
//GetEnumerator方法。该方法返回一个实际的枚举器(enumerator)对象。
while (pns.MoveNext()) //MoveNext() 将枚举数推进到集合的下一个元素。
{
ContactPhoneNumber cp = (ContactPhoneNumber)pns.Current;
//Current获取集合中的当前元素。这里 的cp一定要强制转换一下,因为pns的元素是object类型的,不转换,就得不到PhoneNumber、Kind等属性值啦。。。
Debug.WriteLine(contact+"--"+cp.PhoneNumber+"--"+cp.Kind);
}
}
};
contacts.SearchAsync(null, FilterKind.None, null);