【问题标题】:C# metro app Bluetooth rfcommC# Metro 应用蓝牙 rfcomm
【发布时间】:2013-11-15 19:19:19
【问题描述】:

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

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)

【问题讨论】:

  • 如果你找到了解决方案,我很感兴趣。

标签: c# windows bluetooth microsoft-metro rfcomm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 2012-06-22
    • 2014-01-19
    相关资源
    最近更新 更多