当应用程序在后台运行时,在iOS上与蓝牙经典设备通信?

4
我正在为蓝牙外设开发iOS应用程序。我们希望在按下设备上的按钮时,(已经配对的)设备能够连接,并且这将导致应用程序执行一些代码。即使在后台运行,应用程序是否能够检测到设备已连接?此外,当检测到连接时,应用程序是否能够将自己带到前台?我需要成为MFi计划的成员才能执行这些操作吗?
2个回答

4
您将能够使用蓝牙2.0在后台检测到设备已连接,但是您必须在应用程序的plist下包含“App communicates with an accessory”字符串,并将其列为“Required Background Modes”。所以,是的,您的问题的第一部分是可行的。然而,当您说:“我们希望(已配对的)设备在按下按钮时连接”时,重要的是要注意此功能必须构建在设备的固件中。 应用程序始终可以搜索它,但是设备在连接之前将无法与手机通信。 因此,必须唤醒设备并发出信号表明现在希望连接。对于您问题的第三部分,除非用户打开应用程序,否则无法将应用程序带入前台。另外,CoreBluetooth是iOS的Bluetooth Low Energy框架。 它与蓝牙2.0完全不同。

谢谢!我们已经在固件中解决了与设备的自动连接,并且我们已经找到了其余问题的解决方法。 - DivideByZer0

0

正如ttarules所说,iPhone无法自动连接到已配对的设备。

我不知道您的设备有什么样的蓝牙接收器,但通常您可以设置一种“自动呼叫”方法,自动呼叫已配对的设备(在本例中为iPhone)。

当您(您的iPhone)靠近该设备时,它会自动建立连接!

如果您在蓝牙模块中正确设置了所有参数,您可以确保iPhone在建立连接时显示类似于此的消息:““YourDevice would like access to YourApplication”。

这种方式帮助用户使用您的应用程序,并且您可以在应用程序启动时运行您上面提到的代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接