首页 > 解决方案 > 如何在 Java 中以编程方式找到蓝牙版本?

问题描述

对于蓝牙信标距离测量应用程序,我目前正在使用Android Beacon Library

我正在用 2 台设备测试我的测量结果。一台设备支持蓝牙 5.0 (Samsung Galaxy s10+),另一部手机支持蓝牙 4.2 (Samsung Galaxy s7 edge)。在测试时,我发现如果手机在完全相同的位置,到信标的距离差异超过 100%。这是(我认为)因为信号强度不同。如果我能检测到用户手机的蓝牙版本,我想我可以解决这个问题。

有人知道你怎么能检测到吗?之前已经有人问过这个问题,但那是大约 8 年前的事了,当时不可能。也许有人在此期间发现了一种新方法......

标签: androidbluetoothibeacon

解决方案


经过大量研究,我得出的结论是,仍然无法找到安卓手机的确切蓝牙版本。但我想出了一个解决方法。如果你看支持android 10的手机,几乎所有的手机都支持蓝牙5.0,不支持Android 10的手机几乎都有蓝牙4.x。因此,我现在通过查看 Android 版本并采取相应措施来找到 Android 手机的蓝牙版本。

我已经对其进行了测试,它在我的用例中运行良好。


推荐阅读