我试图在Windows 8.1SL应用程序中通过以下Quickstart:选择用户联系人获取联系人信息
在我的工作中,
private async void PickAContactButton_Click(object sender, RoutedEventArgs e)
{
var contactPicker = new Windows.ApplicationModel.Contacts.ContactPicker();
contactPicker.desiredFieldsWithContactFieldType.add(Windows.ApplicationModel.Contacts.ContactFieldType.email);
Contact contact = await contactPicker.PickContactAsync(); // this throws System.NotImplementedException
// Additional information: The method or operation is not implemented.
if (contact != null)
{ ... }
}完全相同的功能在Windows 8.1RT中工作。根据ContactPicker,WP8.1RT和WP8.1SL都支持ContactPicker类。
知道怎么回事吗?
发布于 2015-01-14 15:39:45
我今天在我的通用商店应用程序Win 8.1中有了这种行为,所以这可能会帮助你解决问题。不过,我有不同的异常(FileNotFoundException和普通的System.Exception),所以我不确定这是同一个问题。
就我的实验而言,这是使ContactPicker工作所需要的:
这就是我最后所做的:
// using Windows.ApplicationModel.Core;
// in an async method:
Contact user = null;
AutoResetEvent resetEvent = new AutoResetEvent(false);
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(
CoreDispatcherPriority.Normal,
(async ()=>{
ContactPicker contactPicker = new ContactPicker();
contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber);
user = await contactPicker.PickContactAsync();
resetEvent.Set();
}
);
resetEvent.WaitOne();
if (user != null) {
// do smth
}https://stackoverflow.com/questions/26426392
复制相似问题