当前位置:首页 > 芯闻号 > 充电吧
[导读]程序联系人存储的API在空间Windows.Phone.PersonalInformation下,下面来看一下如何去使用这些API来操作联系人。ContactStore类和StoredContact类


程序联系人存储的API在空间Windows.Phone.PersonalInformation下,下面来看一下如何去使用这些API来操作联系人。
ContactStore类和StoredContact类
ContactStore类表示一个Windows Phone应用程序的自定义联系人存储,它是应用程序存储的一个管理者,负责管理应用程序所创建的联系人。
StoredContact类表示一个应用程序自定义的联系人存储,它继承了IContactInformation接口,所有由应用程序创建的联系人都是一个StoredContact类的对象。

这两个类的具体用法,请查看帮助。


只读联系人访问


private void Button_Click_ReadContact(object sender, RoutedEventArgs e)
{
    Contacts cons = new Contacts();
    cons.SearchCompleted += new EventHandler(Contacts_SearchCompleted);
    // 参数1: 关键字;参数2:过滤类型,包含显示名称、电话号码、邮件地址、是否固定到开始屏幕等
    cons.SearchAsync("139", FilterKind.PhoneNumber, "状态");
}
void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e)
{
    //获取到的联系人的集合
    listbox1.ItemsSource = e.Results;
}





(1) 设置工程属性中的 WMAppManifest 文件
钩选 ID_CAP_CONTACTS 项以支持电话本操作


(2) 在 WP SDK 8.0 中 ContactStore 用于联系人操作


(3) 增加联系人
新增程序联系人需要先创建或者打开程序的联系人存储ContactStore,并且可以设置该程序联系人存储的被访问权限。

第一种方法:直接通过联系人存储来创建


async Task Add(string familyName, string givenName)
{
    ContactStore store = await ContactStore.CreateOrOpenAsync();
    StoredContact contact = new StoredContact(store);
    contact.FamilyName = familyName;
    contact.GivenName = givenName;

    // 获取已知联系人属性
    IDictionaryprops = await contact.GetPropertiesAsync();
    props.Add(KnownContactProperties.Telephone, "18600000000");

    // 获取扩展的联系人属性
    IDictionaryextprops = await contact.GetExtendedPropertiesAsync();
    extprops.Add("扩展", "扩展属性");

    await contact.SaveAsync();
}



async public void AddContact()  
{  
    ContactStore store = await ContactStore.CreateOrOpenAsync(  
                        ContactStoreSystemAccessMode.ReadWrite,  
                        ContactStoreApplicationAccessMode.ReadOnly);  
    StoredContact contact = new StoredContact(store);  
    //  contact.RemoteId = "123";  
    //  contact.Id               // 只读属性添加成功后系统会自动分配  
    contact.GivenName = txtGivenName.Text;  
    contact.FamilyName = txtFamilyName.Text;  
    IDictionary

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭