android - 用于 Jelly Bean 4.2 的低功耗蓝牙 API

标签 android android-4.2-jelly-bean bluetooth-lowenergy broadcom

在对 BLE 主题和 android 进行了数小时的研究之后,我唯一发现的是一团糟。 为 iOS 开发一个使用 BLE 的应用程序非常简单——一个框架和一些文档。 现在,我必须为 android Jelly Bean 4.2.2 编写一个应用程序(该应用程序只能在一台设备上运行,目前仅随 4.2.2 一起提供),它必须发现并连接到 BLE 设备。

我发现,在 4.1 之前,android 上的蓝牙堆栈称为 BlueZ,但在 4.2 中,Google 更改为来自 Broadcom 的堆栈。我知道 4.3 有一个官方内置的对 Android 低功耗蓝牙的支持,但该应用程序必须在 4.2.2 下运行。

经过大量研究,我还没有找到任何关于 Broadcom 堆栈的文档。有人可以给我指向一个链接吗(该链接仍在工作并且不会以 303 错误结束)?该堆栈是否支持 BLE?有人知道这方面的教程或可以提供几行示例代码吗?

非常感谢您的任何意见! 我真的迷失在那个烂摊子里

林纳德

最佳答案

经过 3/4 年和许多意见后,我想自己回答这个问题:

我们与中国制造商进行了交谈,但他们无法为我们提供 JB 4.3 的发布日期(目前看来需要进行硬件升级😂)。因此我们寻找另一种解决方案,我们找到了一个: BlueKitchen GmbH ( http://bluekitchen-gmbh.com ) 是一家开发了 BTStack 的小公司,BTStack 是一种用于越狱 iOS 设备和嵌入式系统的开源蓝牙堆栈,它修改了现有堆栈以使其与我们特定的 Android 设备兼容。 该解决方案涉及对设备进行 root 操作、用我们的定制蓝牙堆栈替换原始蓝牙堆栈、对设备进行 root 操作,然后将其运送给我们的客户。 由于堆栈作为独立于应用程序的系统服务运行,因此应用程序不需要任何 root 权限,并且可以通过 Google Play 商店或 ADB 控制台轻松安装和更新,而无需 root。 应用程序通过套接字连接与堆栈对话,因此可以使用纯 Java 代码。在应用程序内部,必须区分自定义堆栈和运行 JB 4.3+ 且具有 native BLE 堆栈的设备。但是因为 BLE 协议(protocol)规定了 API,所以一切都非常相似。

如果您对 iSafe Innovation 2.0 或 Ruggear RG220 设备的堆栈版本感兴趣,或者如果您想要其他 Android 设备的堆栈(带有蓝牙芯片)

希望你也能找到解决办法

林纳德

关于android - 用于 Jelly Bean 4.2 的低功耗蓝牙 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332277/

相关文章:

android - 如何检查 Google map v2 中已存在具有相同地理坐标的标记?安卓

<= 4.1.2 中的 Android 锁屏控件

Android BLE 数值比较配对实现

android - 扫描蓝牙 LE 设备时出现问题(无回调)

java - 以编程方式在 RecyclerView 项目(项目中的某个元素)上设置背景颜色

android - Flutter Android 构建因 middles/compiled_local_resources/debug/out 失败,不是可读目录

java - JellyBean 中未调用 onNewIntent

Android MediaRecorder 错误(1, -2147483648)

Android:扩展一个通过反射获取的隐藏类

android - 在安卓 : How do I get variables/data from one screen to another?