none
如何获取people应用的联系人数据和添加people联系人 RRS feed

答案

  • 你好。

    获取people应用的联系人数据可以通过 ContactPicker 类来实现,命名空间是 Windows.ApplicationModel.Contacts,下面是Demo:

    ContactPicker contactPicker = new ContactPicker();
    contactPicker.CommitButtonText = "确定";
    contactPicker.SelectionMode = ContactSelectionMode.Contacts;
    await contactPicker.PickContactsAsync();

    代码执行后,左上角会出现应用选择,选择people即可。具体见:Selecting user contacts

    添加people联系人可以使用ContactManager 添加 Contact,命名空间是 Windows.ApplicationModel.Contacts,下面是Demo:

    var newContact = new Contact();
    newContact.FirstName = "Test";
    newContact.LastName = "Test";
    newContact.Addresses.Add(new ContactAddress() 
                                                  { StreetAddress = "XueQing Road",
                                                    Country = "China",
                                                    PostalCode = "100085",
                                                    Locality = "Beijing City" });
    
    newContact.Phones.Add(new ContactPhone() 
                                             { Description = "Work",
                                               Number = "+8615101015836",
                                               Kind = ContactPhoneKind.Home });
    
    newContact.Emails.Add(new ContactEmail() 
                                           { Address = "Test@outlook.com" });
    ContactManager.ShowContactCard(newContact, new Rect(), Windows.UI.Popups.Placement.Above);
    具体见:ContactManager class



    2014年7月2日 8:57
    版主
  • 据我所知,是不能从people应用中取得所有联系人的。我也做了一些搜索来确认:

    How to access Contacts in Windows 8 People app from another app

    这里是Windows Phone 8.1 中取得people 数据的问题,但是Windows Store 中没有对应的方法:

    http://stackoverflow.com/questions/23832972/how-to-get-all-contacts-list-after-adding-contact-to-my-app-contact-store-in-win

    2014年7月3日 11:47
    版主

全部回复

  • 你好。

    获取people应用的联系人数据可以通过 ContactPicker 类来实现,命名空间是 Windows.ApplicationModel.Contacts,下面是Demo:

    ContactPicker contactPicker = new ContactPicker();
    contactPicker.CommitButtonText = "确定";
    contactPicker.SelectionMode = ContactSelectionMode.Contacts;
    await contactPicker.PickContactsAsync();

    代码执行后,左上角会出现应用选择,选择people即可。具体见:Selecting user contacts

    添加people联系人可以使用ContactManager 添加 Contact,命名空间是 Windows.ApplicationModel.Contacts,下面是Demo:

    var newContact = new Contact();
    newContact.FirstName = "Test";
    newContact.LastName = "Test";
    newContact.Addresses.Add(new ContactAddress() 
                                                  { StreetAddress = "XueQing Road",
                                                    Country = "China",
                                                    PostalCode = "100085",
                                                    Locality = "Beijing City" });
    
    newContact.Phones.Add(new ContactPhone() 
                                             { Description = "Work",
                                               Number = "+8615101015836",
                                               Kind = ContactPhoneKind.Home });
    
    newContact.Emails.Add(new ContactEmail() 
                                           { Address = "Test@outlook.com" });
    ContactManager.ShowContactCard(newContact, new Rect(), Windows.UI.Popups.Placement.Above);
    具体见:ContactManager class



    2014年7月2日 8:57
    版主
  • 是这样的,我需要得到所有联系人的 name 和 email 数据 list,不是用picker让用户选择,而是在软件的后台获得,能做到么?
    2014年7月3日 11:28
  • 据我所知,是不能从people应用中取得所有联系人的。我也做了一些搜索来确认:

    How to access Contacts in Windows 8 People app from another app

    这里是Windows Phone 8.1 中取得people 数据的问题,但是Windows Store 中没有对应的方法:

    http://stackoverflow.com/questions/23832972/how-to-get-all-contacts-list-after-adding-contact-to-my-app-contact-store-in-win

    2014年7月3日 11:47
    版主