Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未找到Windows Phone Silverlight 8.1蓝牙应用程序到设备元素异常_C#_Sockets_Silverlight_Windows Phone 8_Bluetooth - Fatal编程技术网

C# 未找到Windows Phone Silverlight 8.1蓝牙应用程序到设备元素异常

C# 未找到Windows Phone Silverlight 8.1蓝牙应用程序到设备元素异常,c#,sockets,silverlight,windows-phone-8,bluetooth,C#,Sockets,Silverlight,Windows Phone 8,Bluetooth,我正在尝试从我的windows Phone silverlight 8.1应用程序连接到蓝牙打印机,但在\u socket.ConnectAsync()方法中出现以下异常 {System.Exception: Element not found. (Exception from HRESULT: 0x80070490) at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at Sys

我正在尝试从我的windows Phone silverlight 8.1应用程序连接到蓝牙打印机,但在
\u socket.ConnectAsync()
方法中出现以下异常

{System.Exception: Element not found. (Exception from HRESULT: 0x80070490)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at PhoneApp1.MainPage.<ConnectToDevice>d__4.MoveNext()}
我启用了internetClientServer和邻近功能


同样的代码也适用于针对Windows Phone 8的应用程序,我终于找到了这个问题的解决方案。主要目标是ConnectAsync方法中的第二个参数(服务名称),它向应用程序说明设备支持哪种服务(类似于TCP端口)。当你对通信双方进行编程时,你只需在通信双方都输入一些数字,但大多数硬件设备都内置了自己的服务。因此,您需要知道您的硬件支持哪个服务ID,但对于大多数设备(如打印机),它是serialPort。因此,您需要使用不同的方法来搜索一个设备,该设备也会填充peer.ServiceName,然后使用服务名称进行连接

这是msdn手册中关于Windows phone蓝牙的真正错误,只是简单地将serviceName改为1

最后,您必须手动设置特定服务的功能,如下所示:

<m2:DeviceCapability Name="bluetooth.rfcomm">
   <m2:Device Id="any">
       <m2:Function Type="serviceId:00001101-0000-1000-8000-00805f9b34fb" />
   </m2:Device>
</m2:DeviceCapability>
关于如何搜索同龄人和连接到设备,您需要知道的就是这个漂亮的博客

此外,您可能需要使用其他服务,列表如下:


谢谢你的回答。上述错误现已消失,但新错误显示“没有更多可用数据。(HRESULT异常:0x80070103)”。请指出现在可能出现的问题。我发现在appxmanifest中添加CapabilityByt“邻近性”确实有帮助。
<m2:DeviceCapability Name="bluetooth.rfcomm">
   <m2:Device Id="any">
       <m2:Function Type="serviceId:00001101-0000-1000-8000-00805f9b34fb" />
   </m2:Device>
</m2:DeviceCapability>
PeerFinder.AlternateIdentities["Bluetooth:SDP"] = "{00001101-0000-1000-8000-00805f9b34fb}";