如何解决HRESULT 异常:0x80640012
我正在尝试监听 connectionRequested 监听器,
private WiFiDirectConnectionListener _listener;
...
_listener.ConnectionRequested += ConnectionRequestedAsync;
这里是监听器回调,
private async void ConnectionRequestedAsync(WiFiDirectConnectionListener sender,WiFiDirectConnectionRequestedEventArgs args)
{
WiFiDirectConnectionRequest request = args.GetConnectionRequest();
if (request != null)
{
try
{
WiFiDirectDevice _device = await WiFiDirectDevice.FromIdAsync(request.DeviceInformation.Id);
...
}
catch (Exception e)
{
Debug.WriteLine(string.Format("Exception::\"{0}\"",e.Message));
}
}
}
在日志中发现异常(对于调用 WiFiDirectDevice.FromIdAsync
),
异常::“来自 HRESULT 的异常:0x80640012”
知道是什么原因吗?
解决方法
下面的代码对我有用,
try
{
// IMPORTANT: FromIdAsync needs to be called from the UI thread
if (Application.Current.Dispatcher.CheckAccess())
{
_wfdDevice = await WiFiDirectDevice.FromIdAsync(deviceID);
}
else
{
await Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal,new Action(async () =>
{
_wfdDevice = await WiFiDirectDevice.FromIdAsync(deviceID);
}));
}
}
catch (Exception ex)
{
Logger.E($"Exception in FromIdAsync: {ex.Message},StackTrace: {ex.StackTrace}\n\r");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。