2012-01-05 100 views
1

我的应用程序连接到蓝牙传感器,然后开始基于从所述设备发送的通知更新UI。我遇到了IOS自动生成大量通知弹出窗口的问题,当应用程序最小化时,我认为这是由于传感器发送数据的频率所致。所以我想弄清楚如何在用户最小化应用程序时防止用户遭到轰炸。我试图告诉设备停止发送数据,但我怀疑委托方法永远不会被调用。 我曾尝试加入从蓝牙4.0设备禁用通知

[应用cancelAllLocalNotifications]

- (void)applicationDidEnterBackground:(UIApplication *)application 

- (void)applicationWillResignActive:(UIApplication *)application 

,但似乎仍然有一个问题,任何想法。 谢谢

回答

1

您可以使用CBPerpheral :: setNotifyValue:forCharacteristic:开始或停止从所述外设获取通知。

+0

你是完全正确的。把它放在遗嘱中,或者消失了,它会关闭通知,记得在视图再次打开时启用它们。 – Merlin910 2013-04-25 18:12:22

0

另一种选择是使用会话背景。为此,您需要将bluetooth-central后台模式添加到应用程序的plist文件中。之后,应用程序将在前台和后台接收蓝牙通信事件,iOS不会生成任何通知。如果您的应用程序决定需要通知,它可以简单地生成本地通知(tutorial)。