在使用适用于手机的 Windows 10 UWP 应用程序时,我遇到了联系人选取器 API 对象的问题。手机安装了 Developer Preview 10532。
我有一个按钮的事件处理程序:
private async void pickContactAppBar_Click (object sender, RoutedEventArgs e)
{
try
{
ContactPicker contactPicker = new ContactPicker();
IList<Contact> pickedContacts = await contactPicker.PickContactsAsync();
if (pickedContacts != null)
int pickedContactsCount = pickedContacts.Count;
}
catch (Exception ex)
{
MessageDialog messageDialog = new MessageDialog(ex.Message);
await messageDialog.ShowAsync();
}
}
这应该给我用联系人选择器选择的联系人。
问题是,在联系人选择器窗口出现后,它会在半秒后崩溃应用程序,就在我设法选择一个联系人之后。即使在显示选择器后我什么都不做,它也会崩溃,但只需等待。加载联系人列表时似乎崩溃了...
当我部署调试或发布代码时会发生这种情况,但当我通过按 F5 从 Visual Studio 启动应用程序时不会发生这种情况。此外,不会抛出异常。
我很确定我正在正确使用 async 和 await 。由于此方法是一个事件处理程序,因此它必须是 async void。
该方法包含更多代码,也包含更多代码,但我添加了 MessageDialog 调用以查看它在哪里结束,并且它在调用 PickContactsAsync() 之后立即发生。之后什么都不会被执行。我什至注释掉了其代码的所有其他部分。
关于可能发生的事情有什么建议吗?谢谢。