Почему приложение ведёт себя именно так и чем платят настройки
У сенсора и у моста к помпе одно радиоподключение: с ними разговаривает кто-то один. Второе приложение или второй телефон могут видеть прибор рядом, но получить данные не смогут.
Решить, кто из программ работает с прибором сейчас, и закрыть остальные. Отобрать прибор нельзя — операционная система не позволяет одному приложению разрывать чужое подключение, и это правильно: иначе программы выбивали бы друг друга.
Здесь всё иначе, и это проверено на живом приборе.
Пристроиться можно. Если прибор уже читает другая программа на этом же телефоне, мы подключаемся рядом, и данные получают обе: соединение держит система, а показания видят все, кто на них подписался.
Отобрать нельзя. А вот наоборот не работает: если первыми подключились мы, другая программа прибор уже не получит — она будет показывать «ищу сенсор». Прибор принимает рукопожатие один раз, и второму клиенту не отвечает.
Порядок решает, и он несимметричен.
Если на телефоне стоит программа, которой вы пользуетесь, приложение не берёт прибор первым — и не берёт его вообще, пока вы не скажете.
Оно ждёт: подключится она — пристроимся рядом попутчиком, и работать будут обе. Не подключилась — ждём дальше, сколько понадобится, и говорим на карточке прибора, чего ждём.
Раньше здесь было «подождём пять минут и возьмём себе». Мы это убрали. Захват по таймеру — та же конкуренция, только вежливая: ваша программа запустится позже, прибора не получит, и вы будете искать поломку в ней, а причина будет в нас. Тихая поломка чужой программы — худший вид отказа.
Стать основными мы можем, но решаете это вы: закройте другие программы и нажмите «Подключить».
Мы пришли в вашу жизнь позже, чем эта программа. Сломать работающее и предложить взамен непроверенное — плохой обмен, даже если наше приложение лучше.
Не долбим. Заметив, что прибор занят, приложение увеличивает паузу между попытками — от двадцати секунд до пяти минут, — чтобы не мешать ни себе, ни соседу, и подхватывает прибор, как только тот освободится.
И отпускаем сами: если убрать приложение из недавних, оно освободит приборы, чтобы они достались другому телефону. Об этом говорит постоянное уведомление, там же есть кнопка «отдать» и обратная — «взять».