我安排一个Timer使用readRSSI函数读取RSSI,但是当我的应用程序进入后台时计时器停止
我安排一个Timer使用readRSSI函数读取RSSI,但是当我的应用程序进入后台时,计时器停止。 也许有一种很好的方法可以在应用程序进入后台时从外围设备的通知中获取RSSI值。 但我不知道该怎么做。 有人能帮助我吗? 谁有更好的方法?
我有同样的问题,我有两个想法。
1。
首先,你应该有一些定期获得corebluetooth委托的服务。 F或我的例子,我有一个电池服务,我可以定期与didUpdateValueForCharacteristic
委托。
其次,在didUpdateValueForCharacteristic
设置readRSSI函数。 并且不要忘记使用Corebluetooth设置后台模式。现在您可以在更新电池值时获得RSSI更新。
这对我来说很好,但我从一些示例代码中得到了另一个想法。
2。
每当您想要启动RSSI阅读器时,请使用以下代码:
NSTimer *rssiTimer; [rssiTimer invalidate]; rssiTimer = [NSTimer timerWithTimeInterval:1.0 target:peripheral selector:@selector(readRSSI) userInfo:nil repeats:YES]; [[NSRunLoop currentRunLoop]addTimer:rssiTimer forMode:NSRunLoopCommonModes];
它对我也很好。
- iPhonetesting:testingIBOutlets
- 从iOS的经纬度获取位置名称
- GPUImage的GPUImageOpacityFilter行为不如预期,不会更改Alpha通道
- 简而言之:UIImage
- Swift iAd – 超过10个ADBannerView警告实例和CGAffineTransformInvert:奇异matrix输出
- 当使用客户端证书身份validation时,为什么我一直得到NSURLErrorDomain代码= -1206?
- 照片上传到自己的墙上通过iOSgraphicsAPI与用户的位置
- 获取相机预览AVCaptureVideoPreviewLayer
- 重用细胞… :(