bluetooth - 获取Android手机支持的蓝牙版本?(5或4.x)

标签 bluetooth bluetooth-lowenergy core-bluetooth android-bluetooth android-ble

有办法知道 Android 蓝牙版本吗?(5 或 4.x - 4.1 或 4.2?) 目前按照

https://developer.android.com/about/versions/oreo/android-8.0-changes

诸如广告数据包长度比平常多 60 字节(即 31 字节)或支持 LE 扩展广告等功能都是蓝牙 5 的功能。

检查下面这些API(是否为True)是否可以保证支持蓝牙5?

还有可能知道蓝牙(尽管它们采用 WiFI Combo)芯片版本吗?

isLe2MPhySupported()
isLeCodedPhySupported()
isLeExtendedAdvertisingSupported()
isLePeriodicAdvertisingSupported()
getLeMaximumAdvertisingDataLength() > 31 ( for Bluetooth 5)

我读到,通过获取设备的物理 MAC,我们可以知道芯片组属于哪个品牌,因为不同的供应商从蓝牙组织购买了这些 MAC?

请帮忙!

最佳答案

是的,如果上面列出的任何 API 返回 true,则您的设备支持蓝牙 v5。没有明确的“版本”API 的原因是蓝牙现在更多地关注功能而不是硬件版本。您可以拥有包含蓝牙 5 硬件的设备,但不支持任何蓝牙 5 功能,例如 2MPHY、CODED PHY 或 LE 广告扩展。因此,对硬件进行逐个功能检查会更有用。

您是正确的,不同的公司分配有不同的 MAC 地址。您可以找到完整列表here 。例如,理论上来说,Apple MAC 地址应该以 00:4C:XX:XX:XX:XX 开头。然而,我说的是理论上,因为并不是每个人都遵守这一点,并且作为用户,您有时可以选择更改您的 MAC 地址,从而使此信息变得多余。

我希望这会有所帮助。

关于bluetooth - 获取Android手机支持的蓝牙版本?(5或4.x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54802312/

相关文章:

android - Android 6 (Marshmallow) 中的不稳定 BLE 连接

java - Listview 和 OnItemClickListener(蓝牙设备)

java - 安卓 BLE。 device.getUUids() 总是返回 null

objective-c - Mac 上的 CoreBluetooth (OS X Yosemite) : Huge data receving delay after first time connection

ios - 核心蓝牙 : How to design code for many characteristics (30 - 40)?

ios - iOS 上的应用程序可以实现 BLE 设备信息服务中的固件版本字符串特征吗

ios - 向 BLE 设备发送 int 数据

android - 安卓手机使用什么样的连接来充当游戏 Controller ?

node.js - 树莓派 btmon --服务器参数

Android 7.0 ble扫描无结果