有没有办法知道Android蓝牙版本?(5或4.x-4.1或4.2?) 目前按照
https://developer.android.com/about/versions/oreo/android-8.0-changes
蓝牙5的功能包括广告包长度比平常多60个字节(即31个字节)或支持LE扩展广告。
是否在下面(针对True)检查这些API可以保证支持Bluetooth 5?
还能知道蓝牙(虽然它们是WiFI Combo随附的)芯片版本吗?
isLe2MPhySupported()
isLeCodedPhySupported()
isLeExtendedAdvertisingSupported()
isLePeriodicAdvertisingSupported()
getLeMaximumAdvertisingDataLength() > 31 ( for Bluetooth 5)
我读到通过获取设备的物理MAC,我们可以知道芯片组是哪个品牌的,因为不同的供应商已从Bluetooth Org购买了这些MAC?
请协助!
答案 0 :(得分:2)
是的,如果上面列出的API的任何返回true,则您的设备支持Bluetooth v5。没有明确的“版本” API的原因是,蓝牙现在更多地是关于功能,而不是硬件版本。您可以拥有一个包含Bluetooth 5硬件,但不支持任何Bluetooth 5功能的设备,例如2MPHY,CODED PHY或LE Advertising Extensions。因此,对硬件进行逐个特征检查会更加有用。
您是正确的,因为不同的公司为它们分配了不同的MAC地址。您可以找到完整列表here。例如,从理论上讲,Apple MAC地址应以00:4C:XX:XX:XX:XX开头。但是,我说的是理论上的原因,因为并非每个人都遵守此原则,作为用户,您有时可以选择更改MAC地址,从而使此信息变得多余。
我希望这会有所帮助。