首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蓝牙低能背景

蓝牙低能背景
EN

Stack Overflow用户
提问于 2014-09-26 08:11:09
回答 1查看 1.3K关注 0票数 0

我正在开发一个iOS蓝牙LE应用程序。首先,我将IOS (中央)与我的蓝牙芯片(外围设备)配对。

1)发现外围设备。2)与周边连接。3)获取服务和特征。( 4)能够根据特征读取数据和写入数据。5)保存外围设备6)与外围设备断开连接

当我第二次运行该应用程序时,它会自动连接到外围设备,并从特征中写入和读取数据,并与其断开连接。应用程序在后台工作10分钟。

我想在后台运行这个应用程序。也就是说,我想每6小时调用一次在后台连接、写入和读取值的方法。这个是可能的吗?我的应用程序在后台只工作10分钟。任何建议都会有很大帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-09-26 09:49:30

首先,您需要确保添加了:

代码语言:javascript
复制
<key>UIBackgroundModes</key>
<array>
    <string>bluetooth-central</string>
    <string>bluetooth-peripheral</string>
</array>

它将允许您的应用程序在后台运行。

然而,这将工作如下:它将允许您的应用程序“唤醒”任何蓝牙事件,并运行方法,您喜欢启动当您的应用程序得到任何蓝牙活动。

例如:

  • 您可以扫描背景中的蓝牙设备,一旦发现适合您的标准,就可以运行代码,比如didDiscoverPeripheral触发(连接/读/写等)。
  • 您可以连接到设备,并根据特定的特性订阅通知。一旦背景中的应用程序的特征更改值得到通知,didUpdateValueForCharacteristic回调将再次被调用,因此您可以从这里调用方法,仍然在后台运行。
  • 也许你能想到其他的用例。我提到这些场景是为了让您了解如何使用BTLE在后台工作。

这些设想不应限于10分钟的时间范围。

但是,我注意到,如果您在后台模式下运行其他东西(例如:循环),并且经过10分钟,您的应用程序可能会从后台被杀死,所以即使是上面提到的回调也无法工作。

因此,要回答您的6小时问题:如果您的BTLE设备每6小时启动一些BLE操作来唤醒您的应用程序,这是可能的。OTherwise我不确定你能不能从应用程序(ios)那开始你的活动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26054947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档