**目前已知的设备概述: 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版本的新功能之一是支持蓝牙低功耗外设模式。虽然它被提升为独立于所使用的设备而工作,但它似乎依赖于芯片组(参见BluetoothAdapter.java中的isMultiAdvertisementSupported()函数)。
它适用于Nexus 5,但不适用于Nexus 7(称为BLE peripheral support Android-L example中的错误,但由于其芯片组可能无法正常工作?)。 https://code.google.com/p/android-developer-preview/issues/detail?id=589也没有给出结论性陈述。
我担心的是,由于许多旧设备预计将获得Android 5,因此只有最新的平板电脑(和相对较新的手机)才支持BLE外设模式。对于依赖此新Android 5功能的应用的最终用户而言,这可能并不清楚。
对我而言,目前尚不清楚最终将获得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:添加了一些我自己检查但不在任何其他列表中的设备
答案 0 :(得分:30)
Android 5.0.X只允许您使用新的BLE API。这个新API附带了一个新功能,您在问题中提到:可以通过自己的Android设备在外围模式下使用它进行广告宣传。但是,这个新功能的不利之处在于它依赖于硬件。例如,在开始任何BLE之前,您需要:
首先:检查是否支持BLE,您可以通过在清单中添加以下内容来执行此操作:<uses-feature android:name="android.hardware.bluetooth_le" android:required:"true"/>
第二:您需要使用以下方法检查您的芯片组是否支持它:
bluetoothAdapter.isMultipleAdvertisementSupported();
bluetoothAdapter.isOffloadedFilteringSupported();
bluetoothAdapter.isOffloadedScanBatchingSupported();
另请注意,对于上述两种方法,API文档都明确指出:
&#34;如果芯片组支持多广告,则返回true&#34;
&#34;如果芯片组支持片上过滤&#34;
,则为真&#34;如果芯片组支持片上扫描批处理,则为true&#34;
话虽如此,它给我们带来了一个问题:
&#34;哪些硬件设备将支持此功能?&#34;
嗯,答案是有点复杂,因为这不是蓝牙硬件/协议的强制性功能,并且可能因制造商而异。但就目前而言,目前唯一正式支持该技术且没有重大问题的设备是Nexus 6和Nexus 9,因为它们的硬件已经提供支持。你能做到的最好的,不是仅仅依靠技术,而是试图探索其他可能的解决方案,如果有的话。