gpt4 book ai didi

c# - 如何写入 ContactStore.Contact.Phones?

转载 作者:太空狗 更新时间:2023-10-29 20:38:35 25 4
gpt4 key购买 nike

在我的应用程序中,我使用 StoredContactContactStore 创建联系人,通过 GetPropertiesAsync 使用 KnwonContactProperties.MobileTelephone 设置手机号码

这样就可以了,人脉里可以看到手机号

但是……

如果我尝试通过 ContactManager.RequestStoreAsync 以编程方式访问联系人,我没有在 contact.Phones 集合中看到这个电话号码。

有没有办法将数字写入 Phones 集合?

( Related question )

最佳答案

KnownContactProperties类位于 Windows.Phone.PhoneContract 命名空间下,但是 ContactManager.RequestStoreAsync()在 Windows.ApplicationModel.Contacts 命名空间下。这可能是您无法获取电话号码的原因。 ContactStore.CreateOrOpenAsync Windows.Phone.PhoneContract 下的方法与 KnownContactProperties 相同,可以很好地工作。这是一个完整的插入联系人的演示,然后获取联系人的姓名和电话号码。

XAML 代码

<StackPanel>
<TextBox x:Name="txtName" Header="name" InputScope="NameOrPhoneNumber"/>
<TextBox x:Name="txtTel" Header="phone number 1" InputScope="ChineseHalfWidth"/>
<TextBox x:Name="txtTel1" Header="phone number 2" InputScope="TelephoneNumber"/>
<Button x:Name="btnSave" Content="Save" Click="btnSave_Click"/>
<Button x:Name="btnGet" Content="GET" Click="btnGet_Click"/>
</StackPanel>

代码隐藏

 private async void btnSave_Click(object sender, RoutedEventArgs e)
{
var name = txtName.Text;
var tel = txtTel.Text;

ContactStore contactStore = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite, ContactStoreApplicationAccessMode.ReadOnly);
ContactInformation contactInformation = new ContactInformation();
contactInformation.DisplayName = name;
var contactProps = await contactInformation.GetPropertiesAsync();
contactProps.Add(KnownContactProperties.MobileTelephone, tel);
StoredContact storedContact = new StoredContact(contactStore, contactInformation);
await storedContact.SaveAsync();
}

private async void btnGet_Click(object sender, RoutedEventArgs e)
{

ContactStore contactStore = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite, ContactStoreApplicationAccessMode.ReadOnly);
var result = contactStore.CreateContactQuery();
var count = await result.GetContactCountAsync();
var list = await result.GetContactsAsync();
foreach (var item in list)
{
var properties = await item.GetPropertiesAsync();
System.Diagnostics.Debug.WriteLine(item.DisplayName);
System.Diagnostics.Debug.WriteLine(properties[KnownContactProperties.MobileTelephone].ToString());
}
}

关于c# - 如何写入 ContactStore.Contact.Phones?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39227004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com