2013-11-15 182 views
3

我正在制作一个连接到蓝牙设备的应用程序。当我搜索设备我得到C#metro app蓝牙rfcomm

Windows.Devices.Enumeration.DeviceInformation在列表框中,但我想设备名称。

我正在使用的代码是:“搜索设备”

var devices = await DeviceInformation.FindAllAsync(
      RfcommDeviceService.GetDeviceSelector(RfcommServiceId.SerialPort)); 

设备添加到列表框中。

foreach (var device in devices) 
      { 

       DevicesListBox.Items.Add(device); 
      } 

如果我改变DevicesListBox.Items.Add(设备)DevicesListBox.Items.Add(device.name我得到System.String错误。

连接到设备

var serviceInfo = (DeviceInformation)DevicesListBox.SelectedItem; 

     try 
     { 
      rfcommService = await RfcommDeviceService.FromIdAsync(serviceInfo.Id); 

      if (rfcommService != null) 
      { 
       socket = new StreamSocket(); 
       await socket.ConnectAsync(
        rfcommService.ConnectionHostName, 
        rfcommService.ConnectionServiceName) 
+0

如果您找到了解决方案,那么我对它感兴趣。 –

回答

1

你不是零检查Device.Name。不幸的是你很可能会遇到这种错误。我在办公室看到了大约4台没有名字并且让我头痛的设备。希望你能解决这个问题!