Xamarin.Forms: BLE + background service

Есть медицинское устройство, которое подключается по bluetooth LE к приложению на смартфоне (Xamarin.Forms - Android, iOS). Необходимо поддерживать постоянное соединение с устройством 24/7. Сейчас использую Plugin.BLE и ForegroundService. Однако соединение с устройством всё равно рвется через некоторое время (от нескольких минут до часов).

Каков правильный путь решения данной задачи? Постоянное соединение с устройством критично.


Ответы (1 шт):

Автор решения: tomato-magnet-regulato

flutter_foreground_task

  • Может выполнять повторяющиеся задачи со службой переднего плана.
  • Предоставляет полезные утилиты (minimizeApp, wakeUpScreen и т.д.), которые можно использовать при выполнении задачи.
  • Предоставляет виджет, который предотвращает закрытие приложения во время работы службы переднего плана.
  • Предоставляет виджет для запуска службы переднего плана, когда приложение свернуто или закрыто.
  • Предоставляет возможность автоматического возобновления службы переднего плана при загрузке.

Этот плагин для задач переднего плана. Для Android вы можете использовать опцию Ignoe_Battery_optimisation, и приложение будет продолжать работать в фоновом режиме, пока вы не проведете пальцем вверх по приложению, и если вы хотите, чтобы ble Connection отключился от устройства в приложении swipUp из памяти, вам нужно добавить несколько дополнительных шагов, и он также работает для IOS, просто добавьте UiBackgroundModes для Bluetooth и всего остального, и приложение будет продолжать работать в фоновом режиме, если вы постоянно что-то делаете с Bluetooth @rohitsangwan01

Если я правильно понял - плагин дает возможность перевести ЛЮБОЕ приложение на передний план и заставить его работать пока его не смахнут, или не выключат иначе.

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

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

→ Ссылка