"The device is not ready (Exception from HRESULT: 0x80070015)" 在 HelloWorld Windows Phone 8.1 应用程序中使用联系人选取器时出错
"The device is not ready (Exception from HRESULT: 0x80070015)" error when using a ContactPicker in a HelloWorld Windows Phone 8.1 applcation
我正在尝试创建一个在启动时显示 ContactPicker 的小型 WP 8.1 应用程序。我在 Windows 10 Preview build 10532 上使用 Visual Studio Community 2015 创建应用程序。所以,一旦我创建了一个 Windows Phone 空白应用程序,我就添加了一个按钮和这段代码。
public PivotPage()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
this.navigationHelper = new NavigationHelper(this);
this.navigationHelper.LoadState += this.NavigationHelper_LoadState;
this.navigationHelper.SaveState += this.NavigationHelper_SaveState;
this.pickContactCommandButton.Click += PickContactCommandButton_Click;
}
private async void PickContactCommandButton_Click(object sender, RoutedEventArgs e)
{
try
{
ContactPicker contactPicker = new ContactPicker();
IList<Contact> pickedContacts = await contactPicker.PickContactsAsync();
int pickedCount = pickedContacts != null ? pickedContacts.Count : 0;
if (pickedCount > 0)
{
}
}
catch (Exception ex)
{
MessageDialog md = new MessageDialog(ex.Message);
await md.ShowAsync();
}
}
然后我将应用程序部署到我的 Windows Phone 8.1 phone 安装了 Denim 版本,并注册了开发 (https://msdn.microsoft.com/en-us/library/windows/apps/ff769508%28v=vs.105%29.aspx?f=255&MSPPError=-2147217396)。
当我 运行 phone 上的应用程序并按下按钮时,我在标题中收到消息,但联系人选择器未显示。有问题的行是等待的行。
如果我将相同的应用程序部署到我的 Windows 10 Mobile phone.
,它会很好用
我在 Package.appxmanifest 文件中设置了这个:
<Capabilities>
<m3:Capability Name="contacts" />
</Capabilities>
可能是什么问题?
联系人选择器没有显示并抛出异常的原因是在调用联系人选择器pick方法之前缺少这行代码:
contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber);
所以,基本上你需要在 Windows Phone 8.1 上至少添加一个 ContactFieldType,否则联系人选择器会崩溃...
问题已解决。
我正在尝试创建一个在启动时显示 ContactPicker 的小型 WP 8.1 应用程序。我在 Windows 10 Preview build 10532 上使用 Visual Studio Community 2015 创建应用程序。所以,一旦我创建了一个 Windows Phone 空白应用程序,我就添加了一个按钮和这段代码。
public PivotPage()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
this.navigationHelper = new NavigationHelper(this);
this.navigationHelper.LoadState += this.NavigationHelper_LoadState;
this.navigationHelper.SaveState += this.NavigationHelper_SaveState;
this.pickContactCommandButton.Click += PickContactCommandButton_Click;
}
private async void PickContactCommandButton_Click(object sender, RoutedEventArgs e)
{
try
{
ContactPicker contactPicker = new ContactPicker();
IList<Contact> pickedContacts = await contactPicker.PickContactsAsync();
int pickedCount = pickedContacts != null ? pickedContacts.Count : 0;
if (pickedCount > 0)
{
}
}
catch (Exception ex)
{
MessageDialog md = new MessageDialog(ex.Message);
await md.ShowAsync();
}
}
然后我将应用程序部署到我的 Windows Phone 8.1 phone 安装了 Denim 版本,并注册了开发 (https://msdn.microsoft.com/en-us/library/windows/apps/ff769508%28v=vs.105%29.aspx?f=255&MSPPError=-2147217396)。
当我 运行 phone 上的应用程序并按下按钮时,我在标题中收到消息,但联系人选择器未显示。有问题的行是等待的行。 如果我将相同的应用程序部署到我的 Windows 10 Mobile phone.
,它会很好用我在 Package.appxmanifest 文件中设置了这个:
<Capabilities>
<m3:Capability Name="contacts" />
</Capabilities>
可能是什么问题?
联系人选择器没有显示并抛出异常的原因是在调用联系人选择器pick方法之前缺少这行代码:
contactPicker.DesiredFieldsWithContactFieldType.Add(ContactFieldType.PhoneNumber);
所以,基本上你需要在 Windows Phone 8.1 上至少添加一个 ContactFieldType,否则联系人选择器会崩溃...
问题已解决。