我正在对用于商业应用的Android平板电脑进行可行性研究。我有一个需要蓝牙低功耗连接的产品。
我有一台应该支持BLE的Nexus 7平板电脑,但是我没有找到太多有关它的信息。有没有办法检查平板电脑是否具有BLE以及是否已启用?
我正在对用于商业应用的Android平板电脑进行可行性研究。我有一个需要蓝牙低功耗连接的产品。
我有一台应该支持BLE的Nexus 7平板电脑,但是我没有找到太多有关它的信息。有没有办法检查平板电脑是否具有BLE以及是否已启用?
Answers:
到目前为止,对BLE支持的检查必须通过研究规格并在Google上搜索(据我所知)手动完成。
在Stackoverflow上看到以下问题:Android 4.0是否支持Bluetooth Smart(4.0)/ GATT?
它指出,Android最高不支持Android-4.0(即从Jelly Bean 4.1起,Nexus 7选项卡上建议的)即可使用蓝牙4.0(LE)。制造商必须添加自己的API才能访问BT LE(例如,此应用仅限于Motorola)。这就是为什么您的里程可能因4.0以下的不同手机而异。卡西欧(Casio)的支持蓝牙LE的手表也是(官方)兼容性有限的一个示例(顺便说一句,甚至没有提到iPhone 4S)。
我最好的猜测是,随着更多具有4.1的设备的出现,此问题将自行解决,您可以找到显示该问题的应用。
以下是制造商列表:
当前所有的Android API中均不支持Bluetooth LE(在撰写本文时,API级别为16,直至Android 4.1)。手机制造商必须使用蓝牙芯片制造商的堆栈。唯一具有内置LE芯片并实际使用的电话是Motorola Razor。有报告说,在ICS更新之后,蓝牙LE配对将不再起作用。
因此,在官方Android API中没有蓝牙LE支持之前,没有方便的方法来查询设备以获得LE支持并使用它。
IIRC Linux内核也没有(稳定)蓝牙LE API。
既然Android 4.3(API级别18)公开了用于访问BLE的API,则第三方应用程序可能会检查此系统功能。可以为您检查此情况的一个应用是Bluetooth LE Scanner。如果您的设备具有BLE功能,则主要活动的顶部都有一个指示符,它将显示“受支持”。
该应用程序是开源的,因此您可以在GitHub上查看实现细节。我已经检查来确定是否支持BLE(代码在这里,为好奇),它看起来是正确的基础上,官方Android指引,所以我没有理由怀疑该应用程序将误报BLE支持,除非你已经尝试修改您的设备以尝试“伪造”它。无论如何,这在我的Nexus 5上都是正确的。尝试执行此检查的应用程序当然仅在Android 4.3或更高版本上有用。