2012-01-05 233 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)。