获取Windows 10 Phone上的联系人列表

时间:2016-08-31 08:25:51

标签: xamarin windows-phone uwp contacts windows-10-mobile

我需要知道如何阅读Windows 10手机上的联系人列表。我不想使用联系人选择器;我只需要能够遍历所有联系人以访问他们的姓名和电话号码,并将其存储在列表中。 (类似于WhatsApp如何阅读您的联系人列表并将其显示在他们的应用程序中)

1 个答案:

答案 0 :(得分:1)

我从另一个答案here中获取了一些代码。

使用此代码,您应该可以取消联系人。

public async Task IterateThroughContactsForContactListId()
 {            
            ContactStore allAccessStore = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AllContactsReadOnly);

            var contacts = await allAccessStore.FindContactsAsync();
            foreach (var contact in contacts)
            {
                //process aggregated contacts
                if (contact.IsAggregate)
                {
                    //here contact.ContactListId is "" (null....)                  
                    //in this case if you need the the ContactListId then you need to iterate through the raw contacts
                    var rawContacts = await allAccessStore.AggregateContactManager.FindRawContactsAsync(contact);
                    foreach (var rawContact in rawContacts)
                    {
                        //Here you should have ContactListId
                        Debug.WriteLine($"aggregated, name: {rawContact.DisplayName }, ContactListId: {rawContact.ContactListId}");
                    }
                }
                else //not aggregated contacts should work
                {
                    Debug.WriteLine($"not aggregated, name: {contact.DisplayName }, ContactListId: {contact.ContactListId}");
                }
            }

}

他还指出:

  

非常重要:在appxmanifest中你必须添加联系人   能力。在解决方案资源管理器中右键单击它,然后查看代码"   然后在Capabilities put

<uap:Capability Name="contacts" />
     

没有这方面的用户界面。请参阅this