如何在 Java 中以编程方式找到蓝牙版本?
How can you find Bluetooth version programmatically in Java?
对于蓝牙信标距离测量应用程序,我目前使用的是Android Beacon Library。
我正在使用 2 台设备测试我的测量值。一台设备配备蓝牙 5.0(三星 Galaxy s10+),另一台 phone 配备蓝牙 4.2(三星 Galaxy s7 edge)。在测试时,我发现如果 phone 位于完全相同的位置,到信标的距离会相差超过 100%。这是(我认为)因为信号强度的差异。如果我能检测到用户 phone 的蓝牙版本,我想我可以解决这个问题。
有人知道如何检测吗?
之前已经有人问过这个问题,但那是大约 8 年前的事了,那时候是不可能的。也许有人在此期间发现了新方法...
经过大量研究,我得出结论,仍然无法找到 android phone 的确切蓝牙版本。但我想出了一个解决方法。你看支持android10的phone几乎都支持蓝牙5.0,不支持Android10的phone几乎都有蓝牙4.x。所以我现在通过查看 Android 版本找到 android phone 的蓝牙版本并采取相应的行动。
我已经对其进行了测试,它在我的用例中运行良好。
对于蓝牙信标距离测量应用程序,我目前使用的是Android Beacon Library。
我正在使用 2 台设备测试我的测量值。一台设备配备蓝牙 5.0(三星 Galaxy s10+),另一台 phone 配备蓝牙 4.2(三星 Galaxy s7 edge)。在测试时,我发现如果 phone 位于完全相同的位置,到信标的距离会相差超过 100%。这是(我认为)因为信号强度的差异。如果我能检测到用户 phone 的蓝牙版本,我想我可以解决这个问题。
有人知道如何检测吗? 之前已经有人问过这个问题,但那是大约 8 年前的事了,那时候是不可能的。也许有人在此期间发现了新方法...
经过大量研究,我得出结论,仍然无法找到 android phone 的确切蓝牙版本。但我想出了一个解决方法。你看支持android10的phone几乎都支持蓝牙5.0,不支持Android10的phone几乎都有蓝牙4.x。所以我现在通过查看 Android 版本找到 android phone 的蓝牙版本并采取相应的行动。
我已经对其进行了测试,它在我的用例中运行良好。