ios - 核心蓝牙 : Transmit specific data in background as advertiser

标签 ios objective-c cocoa-touch bluetooth core-bluetooth

我正在尝试使用 iOS BLE 设备作为 BLE 外围设备,它也在后台做广告。

我已经想出如何在后台做广告并让另一台寻找特定蓝牙 UUDID 的设备检测到它。

不幸的是,当应用程序处于后台时,不会传输广告商信息。当应用程序处于后台时,有没有办法发送一个短字符串或其他设备特定的东西?如果可以短时间唤醒该应用程序(如果可能的话)就可以了。

最佳答案

当应用程序在后台运行时,广告服务将从广告包中删除。只有前台扫描 iOS 设备才能获取服务。

广告服务是任意 UUID。你可以很容易地找出一些编码来存储字符。但是,这有几个注意事项,例如

  • 一般方案通常是扫描仪通过服务 UUIDS 找到您的外围设备。如果数据可以是任何东西,那么这就很棘手了。
  • 外设将无法在后台更改广告数据。

我建议您不要尝试欺骗系统。而是计划短时间连接到外围设备,并在此间隔期间将数据发送到中央设备。

关于ios - 核心蓝牙 : Transmit specific data in background as advertiser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21445544/

相关文章:

iphone - 有没有办法用AVPlayer区分直播流和点播文件流?

objective-c - Quicklook 嵌入式预览

javascript - 如何使用 Parse.com 中的云代码将UniqueObject 添加到非当前用户类?

iphone - 应用程序再次激活后如何刷新 UITableView?

iphone - 从 CocoaAsyncSocket 读取数据

ios - 找出 Music.app 中正在播放的歌曲

ios - 从对象所在的数组中获取对象的属性

php - Swift3:参数除以 "/"的HTTP POST请求

ios - UIImageView setImage or setBackgroundColor,在iOS中哪个更好

ios - Firebase 监听 currentUser 属性的变化