Windows Phone 8.1 联系人与日历

本文介绍在UWP应用中如何通过不同方式访问设备上的联系人信息,包括使用ContactPicker和ContactManager API进行联系人检索,并演示如何发起电话、短信及邮件等通讯操作。此外还介绍了如何调用系统日历应用以及通过API创建日历事件。

(1)联系人(Manifest 获取权限)

1)获取联系人

获取联系人的方式有两种

A. ContactPicker

ContactPicker 也就是直接打开一个系统的选择联系人界面,让用户选择,可设置单选或多选:

var contactPicker = new ContactPicker();

contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber);

//Windows.ApplicationModel.Contacts.Contact contact = await contactPicker.PickContactsAsync();
Windows.ApplicationModel.Contacts.Contact contact = await contactPicker.PickContactAsync();
if( contact != null )
{
    MessageDialog dialog = new MessageDialog(string.Format("Phone Number: {0}", contact.Phones.First().Number), contact.DisplayName);
    await dialog.ShowAsync();
}

必须设置唯一的一个 ContactFieldType。

B. ContactManager

可通过 ContactManager API 直接搜索某联系人:

ContactStore contactStore = await ContactManager.RequestStoreAsync();
var list = await contactStore.FindContactsAsync(searchTextBox.Text.Trim());

获取的联系人列表为只读的。

2)与联系人联系

可直接向联系人拨打电话、发送短信、发送邮件:

PhoneCallManager.ShowPhoneCallUI("15911111111", "Some");

ChatMessage message = new ChatMessage();
message.Recipients.Add("15911111111");
message.Body = "Test.";
await ChatMessageManager.ShowComposeSmsMessageAsync(message);

EmailMessage email = new EmailMessage();
email.To.Add(new EmailRecipient("aaa@qq.com"));
email.Body = "Test.";
await EmailManager.ShowComposeNewEmailAsync(email);

 

(2)日历

1)直接打开系统的日历应用

比如打开日历主界面:

await AppointmentManager.ShowTimeFrameAsync(DateTimeOffset.Now, TimeSpan.FromHours(1));

 

2)API 方式

比如新建一个日历事件:

Appointment appointment = new Appointment();
appointment.Subject = "";
appointment.StartTime = DateTimeOffset.Now;
//...
await AppointmentManager.ShowAddAppointmentAsync(appointment, new Rect());

更多 API :链接

转载于:https://www.cnblogs.com/xiaoshi3003/p/3767568.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值