首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击时使用ContactPicker合同

点击时使用ContactPicker合同
EN

Stack Overflow用户
提问于 2012-09-12 08:34:25
回答 1查看 413关注 0票数 1

当应用程序被点击时,我可以使用ContactPicker合同吗?

代码语言:javascript
复制
var picker = new Windows.ApplicationModel.Contacts.ContactPicker();
picker.CommitButtonText = "Select";
picker.SelectionMode = Windows.ApplicationModel.Contacts.ContactSelectionMode.Fields;
picker.DesiredFields.Add(Windows.ApplicationModel.Contacts.KnownContactField.Email);
var contactInformation = await picker.PickSingleContactAsync();

上面的代码在全屏时工作,但在调用PickSingleContactAsync()时会抛出以下异常:

System.Runtime.InteropServices.COMException未被用户代码处理 HResult=-2147467259 Message=Error HRESULT E_FAIL已通过调用COM组件返回。Source=mscorlib ErrorCode=-2147467259 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task : at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task任务) System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at TouchToneDtmf.MainPage.d__e.MoveNext() in d:\Users\Foo\MainPage.xaml.cs:line 556 InnerException:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-12 09:32:45

当应用程序被点击时,它不起作用--在调用ContactPicker之前,您应该检查应用程序的可视状态。

在正式的C#示例中,也有EnsureUnsnapped()方法,您可能发现在实现此契约时有帮助。

每次调用文件/联系人选择器时,必须首先确保应用程序能够显示文件/联系人选择器,方法是验证应用程序没有中断,或者,如果应用程序被解压,则该应用程序可以解压以显示文件选择器。源-如何通过文件选择器保存文件

代码语言:javascript
复制
using Windows.UI.ViewManagement;
//...
internal bool EnsureUnsnapped()
{
    bool unsnapped = ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
    return unsnapped;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12384161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档