android - 通过蓝牙在 iOS 和 Android 之间传输数据?

标签 android ios bluetooth gamekit bonjour

我一直在阅读如何使用 GameKit 通过蓝牙在 iOS 设备之间传输数据。我本身并不是在编写游戏,但确实需要在两个设备之间传输少量二进制数据。在两个 iOS 设备之间,这很容易。但是,我想知道是否可以通过相同的机制在 iOS 设备和 Android 设备之间传输数据。

有没有人遇到过可以解释如何执行此操作的文档/教程?它在技术上是否可行?还是 Apple 设置了某种限制来防止这种情况发生?

我发现的另一个选项是 Bonjour over Bluetooth。对于这种类型的操作,这会是更合适的选择吗?

最佳答案

这个问题已经在这个网站上被问过很多次,最终的答案是:不,你不能通过蓝牙将 Android 手机连接到 iPhone是的,Apple 有限制防止这种情况发生。

一些可能的替代方案:

  1. 如您所述,通过 WiFi 享受 Bonjour。但是,我找不到它的综合教程。
  2. 一些基于互联网的同步服务,例如 Dropbox、Google Drive、Amazon S3。这些通常具有适用于多个平台的库。
  3. 通过套接字直接进行 TCP/IP 通信。 ( How to write a small (socket) server in iOS )
  4. 一旦 Android 端的问题得到解决 (Communicating between iOS and Android with Bluetooth LE),蓝牙低功耗将成为可能

最酷的选择:使用 Bump API .它支持 iOS 和 Android,并且非常容易集成。对于小负载,这可能是最方便的解决方案。

详细说明为什么您无法将任意设备连接到 iPhone。 iOS 仅允许在没有 Made For iPhone (MFi) 认证 (HPF, A2DP, MAP...) 的情况下使用某些蓝牙配置文件。 Serial Port Profile您实现通信所需的内容与 MFi 成员身份绑定(bind)。该计划的成员资格为您提供 MFi 身份验证模块,该模块必须添加到您的硬件中,并负责对 iPhone 进行设备身份验证。 Android 手机没有此模块,因此即使可以建立物理连接,身份验证步骤也会失败。 iPhone 与 iPhone 之间的通信是可能的,因为两端都能够进行身份验证。

关于android - 通过蓝牙在 iOS 和 Android 之间传输数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884705/

相关文章:

android - 如何获取设备的传输(Tx)功率值?

与 API>=21 AND API<21 兼容的 Android 低功耗蓝牙代码

android - 如何在服务运行时更改状态栏图标

java - 运行相机服务时 takePicture 失败

android - 垃圾收集 Activity

iOS 多个应用共享一个 LinkedIn 应用

ios - 使用 CoreBluetooth 传输数据

java - 通过配对的蓝牙打印机佳能 CP900、CP800 打印图像

ios - MDM:iOS mdm命令发送格式

iphone - CAShapeLayer 绘制路径奇怪