我安排一个计时器使用RSSI readRSSI函数读取,但是当我的应用程序进入后台定时器停止(i s

2019-08-18 01:33发布

我安排一个计时器使用readRSSI函数读取RSSI,但是当我的应用程序进入后台计时器停止。 也许有一个很好的方法,从外围的通知获得RSSI值,当应用进入后台。 但我不知道该怎么办。 任何人可以帮助我吗? 任何人有一个更好的方法?

Answer 1:

我已经得到了同样的问题,我有两个想法。

1。

首先,你应该有一些服务,得到了corebluetooth委托periodly。 F或我的例子,我有一个电池的服务,我可以得到委托与didUpdateValueForCharacteristic periodly。

其次,在设置readRSSI功能didUpdateValueForCharacteristic 。 而且不要忘记设置背景模式与Corebluetooth.So现在你可以得到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];

它正常工作,对我来说太。



文章来源: i schedule a Timer to read RSSI using readRSSI function ,but the timer stops when my app go into background