基本上,2012 Nexus 7 中的 Broadcom 蓝牙芯片组似乎是这样的is具有蓝牙 4.0 LE/低功耗 (BLE) 功能,但 Google 从未对其进行过认证,仅针对当时的 v3.0 规范进行了认证。这意味着 Google 现在可能认为重新认证该设备以进行合法 BLE 开发不会带来任何经济利益(因为 2012 年 Nexus 7 现已停产)。然而,隧道尽头有一盏灯。
Manuel Naranjo 创建了一个 Android 开源项目 (AOSP) 代码补丁(我相信 Google 由于上述原因而避免了该补丁),他已将其免费提交给基于 AOSP 的氰基模组 http://cyanogenmod.org项目(特别是分别基于 Android 4.3 和 4.4 (KitKat) 的版本 10.2 和 11)。这意味着我们do如果您安装了 CyanogenMod(或者可能是 Purity Rom),则可以获得 2012 Nexus 7(代号“grouper”)的 BLE。
如果您有兴趣Manuel 制作的 BLE 补丁,可以在这里找到 https://github.com/manuelnaranjo/android_device_asus_grouper/commit/31756f3c0f364c9c7d07e8813a8b806ec0ddaded,他的更改相当容易遵循(他删除了 BLE 等的“错误”开关,以及其他更改)。
我假设这些补丁也可以应用于库存 2012 Nexus 7 Wifi(“grouper”)Google Android 源代码构建(可以找到here https://android.googlesource.com/device/asus/grouper),如果像 CyanogenMod 这样的第 3 方自定义 ROM 不符合您的喜好(构建所需的 Nexus 7 特定二进制硬件驱动程序,包括 Broadcom 蓝牙,均可用here https://developers.google.com/android/nexus/drivers#grouper).
我正在考虑购买一台较旧的 Nexus 7,因为它们现在的成本非常低(在英国为 99 英镑),并且 Google/CyanogenMod 可能会在一段时间内确保持续的升级路径(我希望BLE 外设支持,可能在 Android 4.5 中)。
顺便说一句,曼努埃尔还推销了Nexus BLE Helper @ Google Play(付费) https://play.google.com/store/apps/details?id=com.manuelnaranjo.btle.installer2我认为这在某种程度上简化了他的解决方法的安装,而无需刷新整个操作系统。 (免责声明 - 我与开发人员没有任何联系)。
Edit:我发现这个附加线程 https://code.google.com/p/android-developer-preview/issues/detail?id=1570#c43它查明了 Google 代码库中的蓝牙遗漏。