sexevil 发表于 2015-5-8 13:56:52

Windows Phone 7 获取用户通讯录和日程安排信息

  在Windows Phone 7.0版本的API里面对用户手机上的信息基本上是不提供给开发者使用,不过还好在芒果更新里面,我们已经看到了微软正在渐渐地开放这些接口,在7.1版本的API里面多了命名空间Microsoft.Phone.UserData,在这个空间下提供了手机系统用户通讯录和日历数据操作的API,我相信微软在未来会在该空间下开放更多的接口来操作用户的数据,下面来看一下Microsoft.Phone.UserData空间下的类,主要包含了Contacts, Contact, Appointments和Appointment这四个类,Contacts类允许你去查询用户的联系人数据,并且可以返回一个Contact类的集合,Appointments类允许你去查询用户的日程安排数据,并且可以返回一个Appointment类的集合。
      下面是从官方网站翻译的Microsoft.Phone.UserData空间下类,属性等信息,仅供参考,详细信息请查阅MSDN。









说明





Account



用户在手机上设置的提供联系人信息的账号类型,例如Facebook ,Microsoft Outlook等等。





Appointment



系统日程安排的类。





Appointments



提供了操作手机系统日常安排的类。





AppointmentsSearchEventArgs



提供SearchCompleted事件返回数据的类。





Attendee



包含了日程安排出席的信息类。





CompleteName



包含了联系人姓名信息的类。





Contact



通讯录类,包含了通讯录所有可用的信息。





ContactAddress



包含了联系人地址信息的类。





ContactCompanyInformation



包含了联系人公司信息的类。





ContactEmailAddress



包含了联系人邮件信息的类。





ContactPhoneNumber



包含了联系人电话号码信息的类。





Contacts



通讯录类,提供了操作用户手机通讯录联系人的事件和方法。





ContactsSearchEventArgs



提供SearchCompleted事件返回信息的类。





PhoneDataSharingContext



数据共享的基类。











枚举



说明





AddressKind



地址的种类。





AppointmentStatus



日程安排的状态。





EmailAddressKind



邮件地址的种类。





FilterKind



通讯录搜索的种类。





PhoneNumberKind



电话号码的种类。





StorageKind



用户通讯录和日程安排的数据提供源的种类。







Contact类的属性





属性名字



说明





Accounts



联系人的来源账号。





Addresses



联系人地址。





Birthdays



联系人的生日。





Children



联系人关联的子类别。





Companies



联系人的公司





CompleteName



联系人的完整名称。





DisplayName



联系人在通讯录的显示名称。





EmailAddresses



联系人的邮箱地址,枚举模板类型





IsPinnedToStart



联系人是否在手机主屏幕上显示。





Notes



联系人备注信息。





PhoneNumbers



联系人的电话号码。





SignificantOthers



联系人的其他关联信息。





Websites



联系人的网站。







Contacts类的属性
Accounts获取通讯录关联的账号。
BaseUri

事件
SearchCompleted搜索通讯录的事件。

方法
SearchAsync异步搜索通讯录。

Appointment类属性





属性名字



说明





Account



来源账号。





Attendees



日程安排出席的活动事项





Details



活动的内容





EndTime



结束时间





IsAllDayEvent



是否全天活动





IsPrivate



是否私人活动





Location



地点





Organizer



组织者





StartTime



开始时间





Status



状态





Subject



标题




  下面用一个例子来测试一下获取手机用户的通讯录的信息。
  MainPage.xaml文件
  



            
               
                  
                        
                           
                           
                           
                              
                                    
                                       
                                          
                                       
                                    
                              
                           
                           
                           
                              
                                    
                                       
                                          
                                       
                                    
                              
                           
                           
                           
                              
                                    
                                       
                                          
                                                
                                                
                                          
                                       
                                    
                              
                           
                        
                  
               
            
  MainPage.xaml.cs文件
  



using Microsoft.Phone.Controls;
using Microsoft.Phone.UserData;
namespace contactstest
{
    public partial class MainPage : PhoneApplicationPage
    {
      private Contacts contacts;
      public MainPage()
      {
            InitializeComponent();
            contacts = new Contacts();
            contacts.SearchCompleted += contacts_SearchCompleted;
            contacts.SearchAsync("", FilterKind.DisplayName, "查询联系人");
      }
      //通讯录搜索完成事件处理
      void contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
      {
            ContactResultsData.DataContext = e.Results;
      }
    }
}
  
  运行的效果:
  
  
  

  
  




  
  
页: [1]
查看完整版本: Windows Phone 7 获取用户通讯录和日程安排信息