Отключение уведомлений от устройств Bluetooth 4.0 - PullRequest
1 голос
/ 06 января 2012

Мое приложение подключается к датчику Bluetooth, а затем начинает обновлять пользовательский интерфейс на основе уведомлений, отправленных с указанного устройства. У меня проблема с IOS, автоматически генерирующим большое количество всплывающих уведомлений, когда приложение свернуто, я думаю, это связано с частотой, с которой датчик отправляет данные. Поэтому я пытаюсь выяснить, как уберечь пользователя от бомбардировки, когда он минимизирует приложение. Я пытаюсь сказать устройству прекратить отправку данных, но я подозреваю, что метод делегата никогда не вызывается. Я попытался добавить

[приложение cancelAllLocalNotifications]

на оба

- (void)applicationDidEnterBackground:(UIApplication *)application

и

- (void)applicationWillResignActive:(UIApplication *)application

но, похоже, все еще есть проблема, есть идеи. Спасибо

Ответы [ 2 ]

1 голос
/ 26 июля 2012

Вы можете использовать CBPerpheral :: setNotifyValue: forCharacteristic: для запуска или прекращения получения уведомления от указанного периферийного устройства.

0 голосов
/ 08 августа 2013

Другой вариант - использовать фоновую сессию. Для этого вам нужно добавить фоновый режим bluetooth-central в файл plist приложения. После этого приложение получит события связи Bluetooth как на переднем, так и на заднем плане, и iOS не будет генерировать никаких уведомлений. Если ваше приложение решит, что оно нуждается в уведомлении, оно может просто сгенерировать локальное уведомление ( tutorial ).

...