Почему android BLE автоматически отправляет запрос на обновление параметров соединения? - PullRequest
0 голосов
/ 22 апреля 2020
  1. Мое BLE-устройство (ведомое) настроено на отключение «запроса на обновление параметров подключения» на канальном уровне.
  2. Мое собственное приложение Android на смартфоне отправляет 2 или 3 раза «запрос на обновление параметров подключения» «ведомое устройство при сопряжении. Я не использовал requestConnectionPriority (). Почему он отправляется автоматически?
  3. Напротив, при сопряжении с меню настроек Bluetooth на том же смартфоне (не в моем приложении) он не отправляет «запрос на обновление параметров подключения» на подчиненное устройство.

Я хочу, чтобы мое приложение не отправляло на ведомое устройство. Возможно ли это?

введите описание изображения здесь

1 Ответ

0 голосов
/ 22 апреля 2020

Android обычно обновляет параметры соединения вскоре после установления с уменьшенными параметрами соединения, чтобы ускорить обнаружение и соединение службы GATT. Когда это закончено, оно обновляется обратно до начальных параметров соединения.

Ведущее устройство контролирует соединение и, следовательно, может в любое время выполнить процедуру обновления соединения, и ведомое устройство должно подчиняться параметрам. (Если ведомому не нравятся новые параметры, он может отключиться.)

Когда BLE был представлен со спецификацией 4.0, единственной доступной опцией для подчиненного устройства для обновления параметров соединения было использование протокола L2CAP для попросите хост обновить параметры, которые он может либо отклонить, либо принять. Если хост принимает параметры, он выполняет процедуру обновления соединения.

В Bluetooth 4.1 была введена новая процедура, называемая процедурой запроса параметров соединения, которая может быть инициирована как ведомым, так и ведущим для согласования параметров, поддерживаемых обоими устройствами. Тем не менее, мастер по-прежнему решает, какие конечные параметры будут использоваться, а затем выполняет процедуру обновления подключения, как обычно.

Так что нет, вы не можете заставить Android не выполнять обновления параметров подключения, так как он встроен в Bluetooth стек, и эта часть не может контролироваться приложением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...