【问题标题】:Converting iOS External Accessory Framework code to Android将 iOS 外部附件框架代码转换为 Android
【发布时间】:2023-03-15 13:19:01
【问题描述】:

我们得到了一个蓝牙设备,要求我们将 iOS 和 Android 设备连接到特定的自定义外围设备。

演示应用程序似乎显示了一个设备列表,询问使用哪个设备,然后显示一个协议列表,其中包括在 info.plist 中“支持的外部附件协议”下定义为 com.(company) .bt.

我看了一遍,没有发现这个过程是蓝牙的标准,整个工作流程在 Android 上似乎有所不同。我尝试使用蓝牙示例应用程序连接到此设备,但连接的红色 LED 永远不会亮起,并且根据给定的 UUID,我会收到 1 个字节或 7 个字节。给我的示例代码甚至没有触及InputStream 除非流已达到 16 字节(当然,这永远不会发生)

是否有关于如何连接到此设备的某种指南?根据我从代码中读到的内容,在用户按下按钮之前甚至不会发送消息,但是在 iOS 中甚至可以选择之前很久,LED 就会亮起。

编辑:我终于通过点击找到了一些东西-似乎plist条目与mfi有关(我猜该文档仅对程序中的人可用?) ,这是否意味着此设备只能在 iOS 设备上使用?

【问题讨论】:

    标签: android ios bluetooth external-accessory


    【解决方案1】:

    正如您提到的,Android 和 iOS 中的连接方式不同。

    info.plist 中定义的协议应该是您打算与您拥有的特定蓝牙芯片一起使用的协议。

    有一个指南解释了如何在 iOS 中连接,您可能还应该检查它是哪个蓝牙版本。是否低于蓝牙 4.0(BLE-蓝牙低功耗)。我认为它不是 BLE,因为您提到它是 MFI ...

    1)如果是BLE,请使用Core Bluetooth

    2) 否则请查看以下链接:Introduction to Stream Programming Guide for Cocoa

    有点难以理解您所说的红色 LED 是什么意思,因为我们不知道您使用的是什么设备。考虑到您正在从设备接收一些字节,这意味着通信已建立。即使收到 1 个字节,您也可以通过将代码更改为“触摸” InputStream 来开始调试并可能更好地理解代码......

    希望这会有所帮助。 干杯!

    编辑:再次阅读标题,我不确定您说要将代码转换为 Android 是什么意思?您只描述了您在 iOS 中连接的尝试。 快速的 Google 搜索将为您提供以下 Android 指南链接:

    1) Bluetooth (not BLE)

    2)BLE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多