android - 有没有人将 Android 作为 Central 连接到 iOS 作为 Peripheral?

标签 android ios bluetooth core-bluetooth android-bluetooth

在您将此标记为重复之前,SO 上有很多关于如何通过蓝牙将 Android 连接到 iOS 的问题。许多答案说不可能,或者不可能,或者可能。他们也有点老了。本题为实战答案。

我进行了广泛的研究,发现很多文章都说这是可能的和不可能的,但似乎应该是这样,尤其是对于低功耗蓝牙。

这是我简单的是/否问题:当使用 CoreBluetooth 将 iOS 设备作为 Peripheral 进行广播时,您是否能够将 Android 设备连接为 Central 并交换数据?

最佳答案

是的,这是可能的。我使用运行 8.1 的 iPhone 5 和运行 Lollipop 的 One Plus One 编写了一个测试。 iPhone 通告自定义服务和特性,Android 连接到它并检索该特性的值。

有趣的观察:

  • 当 iPhone 应用程序在前台做广告时,Android 可以在仅针对特定服务 uuid 进行扫描时检测到它,并且它每次都能正常工作。

  • 当 iPhone 应用程序在后台播放广告时,Android 只有在对所有设备进行通用扫描时才能检测到它,它必须连接到它能找到的每台设备,以查看它是否包含正确的自定义服务uuid​​。即便如此,它也只是有时有效。当 iPhone 服务在后台播放广告时,我感到非常惊讶,考虑到 iOS 开发者网站上说外围设备在后台播放广告只能被其他专门寻找该服务的 iOS 设备检测到。

关于android - 有没有人将 Android 作为 Central 连接到 iOS 作为 Peripheral?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29797654/

相关文章:

Android蓝牙输入流不读取完整阵列

java - 如何知道 JSON 字符串是否可以无错误地转换为 JSONObject?

android - 在 Linux 中运行/编译 Android 应用程序

android - 如何设置 Intent 过滤器仅在发送联系人时发送操作?

android - config.xml 文件中的 Ionic 2 调用、短信和邮件功能需要更改吗?

ios - 将地理位置坐标传递给 UITableViewCell 的问题

ios - 在 Realm 中存储长列表(1000)对象的最有效方法是什么?

C# 和蓝牙编程

ios - 我可能创建的 RootViewController、AppDelegate 和 View Controller 类之间有什么区别?

java - 如何重写方法中获取消息的循环