首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios BTLE didDiscoverPeripheral更改发现时间间隔

ios BTLE didDiscoverPeripheral更改发现时间间隔
EN

Stack Overflow用户
提问于 2013-10-22 05:05:20
回答 2查看 395关注 0票数 0

我用BTLE对一些BTLE设备做出反应,我只需要知道BTLE设备何时在一定范围内,我不需要对,只需要知道RSSI值,

我的问题是

didDiscoverPeripheral

大约每隔10秒一次

我能改变这个间隔时间使它更短吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-22 05:51:22

在CoreBluetooth中,当设备找到新的外围设备时调用didDiscoverPeripheral方法。此外,您还可以在字典中提供如下选项:

代码语言:javascript
复制
NSDictionary * options = [NSDictionary dictionaryWithObjectsAndKeys:@YES, CBCentralManagerScanOptionAllowDuplicatesKey, nil];

当外围设备的RSSI与以前的RSSI相比发生变化时,将CBCentralManagerScanOptionAllowDuplicatesKey设置为yes使didDiscoverPeripheral被调用。这非常快,就像didDiscoverPeripheral在近毫秒内被调用一样。首先,检查您的字典标志是否设置为“是”。否则,你的外围可能出了点问题。试着用不同的外设测试它。

票数 1
EN

Stack Overflow用户

发布于 2015-06-18 09:34:40

我总结了两种周边扫描方法的实现经验。我通常使用CBCentralManagerScanOptionAllowDuplicatesKey:FALSE选项进行正常扫描。我总是实现一种名为targetScan的方法来扫描外设一个特定的时间模式。因此,您可以实现一个间隔为10秒的调度定时器。每次发送这个定时器,并在2秒后用选项CBCentralManagerScanOptionAllowDuplicatesKey:TRUE调用一个带有"ScanForPeripheral“的方法,您就可以通过quitThis进行特定的扫描,并使用CBCentralManagerScanOptionAllowDuplicatesKey:FALSE调用”正常扫描模式“。

希望这能帮上忙!

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

https://stackoverflow.com/questions/19509380

复制
相关文章

相似问题

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