支持Android 5 BLE外设模式的芯片组/器件

**目前已知的设备概述:Nexus 6,Nexus 9,Moto E 4G LTE,LG G4,Galaxy S6,三星Galaxy S5(型号SM-G900M),Nexus 5X,索尼Xperia Z5 Compact,三星Galaxy Tab S2 **

**另请参阅https://altbeacon.github.io/android-beacon-library/beacon-transmitter-devices.html **

Android 5发布的新function之一是支持蓝牙低功耗外设模式。 虽然它被提升为独立于使用的设备,但似乎依赖于芯片组(参见BluetoothAdapter.java中的isMultiAdvertisementSupported()函数)。

它正在为Nexus 5工作,但不适用于Nexus 7(称为BLE外设支持Android-L示例中的一个错误,但由于其芯片组可能无法工作)。 同样, https://code.google.com/p/android-developer-preview/issues/detail?id=589也不会给出确凿的说明。

我担心的是,许多老设备预计会获得Android 5,只有最新的平板电脑(和相对较新的手机)才会支持BLE外设模式。 对于依赖这个新的Android 5function的应用程序的最终用户来说,这可能是不清楚的。

对于我来说,最终得到Android 5的芯片组/设备是否支持BLE外设模式尚不清楚。 任何人谁可以给我任何见解呢? 哪些芯片组将支持BLE外设模式? 更具体地说,由于我们的许多客户有Nexus 7(2013),Nexus 7是否会得到支持?

编辑19-2-2015:自2014年12月起,Nexus 5不再支持,只有Nexus 6和9似乎支持BLE外设模式/广告。 希望在不久的将来支持这种设备的设备数量将会大幅增加。

更多信息和讨论在这里: https : //code.google.com/p/android-developer-preview/issues/detail?id=1570

编辑6-3-2015:增加了快速参考的概述

编辑17-2-2016:添加了一些设备,我检查了自己,但没有在任何其他名单

Android 5.0.X将只允许您使用BLE的新API。 这个新的API提供了一个新function,你在你的问题中提到:从你自己的Android设备广告的可能性,在外设模式下使用它。 但是,这个新function的缺点是它依赖于硬件。 例如,在您启动任何BLE之前,您需要:

首先:检查BLE是否被支持,你可以通过在清单中添加这一行来实现: <uses-feature android:name="android.hardware.bluetooth_le" android:required:"true"/>

第二:您需要检查您的芯片组是否支持它,使用以下方法:

 bluetoothAdapter.isMultipleAdvertisementSupported(); bluetoothAdapter.isOffloadedFilteringSupported(); bluetoothAdapter.isOffloadedScanBatchingSupported(); 

另外请注意,对于上述两种方法,API文档都明确指出:

“如果芯片组支持多广告,则返回true”

“如果芯片组支持片上滤波则为真”

“如果芯片组支持片上扫描批处理,则为true”

这就是说,它带给我们的是这个问题:

“哪些硬件设备将支持此function?”

那么这个问题的答案稍微复杂一些,因为这不是蓝牙硬件/协议的强制性function,而且从制造到制造都可能有所不同。 但就目前而言,目前唯一正式支持该技术的设备,没有重大问题,Nexus 6和Nexus 9,因为他们的硬件已经提供了支持。 你可以做到的最好的方法是不要仅仅依靠现在的技术来尝试探索其他可能的解决scheme。