Как сканировать и подключаться к устройству bluetooth в одном фрагменте и читать характеристики в другом фрагменте? - PullRequest
0 голосов
/ 05 августа 2020

Я только начал изучать Android разработку с Kotlin и работаю над приложением.
Я также создал устройство Arduino с BLE, которое отправляет текущую скорость моего велосипеда.

Приложение, которое я создаю, имеет одно действие, которое будет содержать три фрагмента.

  1. Первый фрагмент позволяет пользователю выбрать велосипед и автоматически запускает второй фрагмент
  2. Второй фрагмент сканируется и подключается к устройству Arduino, о котором я упоминал ранее, это делается в viewModel .
    Я использую BluetoothDevice и BluetoothGatt для сканирования, подключения и чтения характеристик.
    При успешном подключении запускает третий фрагмент
  3. Третий фрагмент предназначен для включения уведомлений, чтения характеристик c и отображения значения.

Проблема

Объект bluetoothGatt создается во втором фрагменте и не может быть передан в качестве аргумента третьему фрагменту, поэтому он не может использоваться третьим фрагментом для включения уведомлений и чтения его характеристик.

Кроме того, я знаю имя устройства и адрес MA C, который я использую для автоматического подключения.

Я читал о фоновых службах, широковещательных приемниках и т. Д. c. Я не уверен, какой путь к go

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

...