使用32Feet查找配对的蓝牙设备

时间:2017-08-23 07:22:30

标签: c# android bluetooth connectivity 32feet

我正在尝试创建一个简单的应用程序来显示附近的蓝牙设备(这个可以正常工作)

此外,我正在尝试查找特定的蓝牙设备(我的MAC和它已在Windows中配对)是否在范围内。这是一款Android手机,默认情况下它设置为Invisible到附近的设备,但这不会是一个问题,因为它已经在Windows中配对了,对吗?

使用此代码:

BluetoothClient BTClient = new BluetoothClient();
BluetoothDeviceInfo[] BTDeviceInfo =  BTClient.DiscoverDevices();

正在查找“可见设备”,它还会向我显示配对设备的天气是否在范围内!

如何检查配对设备是否在范围内?没有设置并使其“可见”会更好

1 个答案:

答案 0 :(得分:0)

可能为时已晚,但是您可以使用 BTClient.DiscoverDevicesInRange(); 然后在该列表中查找您的设备。

另一种方法是尝试使用其蓝牙地址读取设备中的服务,如果不在范围内,则会出现异常。

private static Boolean IsInRange(BluetoothDeviceInfo device)
    {
        Guid fakeUuid = new Guid("{F13F471D-47CB-41d6-9609-BAD0690BF891}");
        try
        {
            ServiceRecord[] records = device.GetServiceRecords(fakeUuid);
            return true;
        }
        catch(SocketException ex)
        {
            if (ex.ErrorCode == 10040) return true;
            return false;
        }
    }