[C #] [UWP] GattCharacteristicNotificationTrigger остановлен при перезагрузке устройства - PullRequest
0 голосов
/ 06 июня 2018

В приложении UWP (обновление Годовости цели SDK) у меня очень раздражающая проблема.

У меня есть устройство Bluetooth с низким энергопотреблением, которое я подключаю без проблем (как на ПК, так и на мобильных платформах), читай /Операции записи в сервисах и характеристиках GATT работают, но фоновая задача с триггером GattCharacteristicNotificationTrigger для уведомления о состоянии батареи вообще не надежна.

Пока я регистрирую задачу в первый раз, это работает нормально, но когда

  1. Я выключаю / перезагружаю подключаемое устройство (клиент UWP GATT)

или

Я выключаю / перезагружаю устройство BLE (сервер GATT)

Задача останавливается до тех пор, пока приложение не откроется на переднем плане и не будет перерегистрировано.

Эта операция не совсем удобна, особенно если я всегда хочу знать состояние батареи, и использование TimerTrigger на самом деле не лучшее срабатывание, по крайней мере, каждые 15 минут.

Я пытался найти больше информации о триггерев вопросе но я ничего не нашел.

Я что-то не так делаю?(триггер предназначен для остановки при выключении одного из двух устройств?)

PS. Я пытался из-за стеснения записать задачу как классическим способом (вне процесса, так и в отдельном компоненте среды выполнения Windows).) и новый, представленный в процессе обновления Anniversary, но ничего не изменилось.

Заранее спасибо.

1 Ответ

0 голосов
/ 06 июня 2018

Это нормальное поведение, когда соединение теряется по какой-либо причине, сервер через несколько секунд разорвет соединение, потеряет всю информацию о соединении и снова начнет рекламу, чтобы любой клиент мог обнаружить, подключиться или переподключиться.Лучший способ справиться с этим - создать отключенное событие и включить-отключить: утилизировать устройство, создать новое устройство, подключиться и повторно зарегистрироваться для получения уведомлений.

...