1

在使用适用于手机的 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() 之后立即发生。之后什么都不会被执行。我什至注释掉了其代码的所有其他部分。

关于可能发生的事情有什么建议吗?谢谢。

4

0 回答 0