我正在制作一个连接到蓝牙设备的应用程序。当我搜索设备时,我得到

列表框中的 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(device)更改为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)

最佳答案

您不是要空检查Device.Name。不幸的是,您很可能会遇到这种错误。我在办公室里看到大约4台没有名称的设备,这些设备让我有些头疼。希望你解决了这个问题!

10-07 15:05