Android-приложение, которое взаимодействует с устройствами BLE, не работающими на Chromebook

У меня есть приложение для Android, которое взаимодействует с пользовательскими устройствами BLE. Это приложение работает, как и ожидалось, на устройствах с версией Android от 4.4 до 6.0. Теперь я хочу сделать это доступным на Chromebook через Google Playstore на Chromebooks(App Runtime для Chrome).

Я установил это приложение на свой Google Asus Flip Chromebook(Chrome OS версия 55, ARC версия 3617689), загрузив на него APK. Но это не работает, как ожидалось.

Вот шаги, которые я предпринял:

  1. Вызовите метод startLeScan(), который дает BluetoothDevice в качестве scanResult.
  2. Вызовите метод connectGatt(), и устройство подключится, и в обратном вызове onConnectionStateChange() получите дескриптор BluetoothGatt.
  3. Позвоните в сервис Discover.
  4. После этого выполняется обратный вызов onServicesDiscovered(), как и ожидалось, со статусом = GATT_SUCCESS. Однако gatt.getServices возвращает пустой список при работе на Chromebook. При работе на устройстве Android (от API 19 до API23) я получаю дескрипторы BluetoothGattService ко всем службам, поддерживаемым моим устройством BLE.

Что заставляет меня подозревать реализацию BLE на ARC на Chromebook. Кто-нибудь еще сталкивался с этой проблемой? Кто-нибудь использует Android BLE API в Chrome OS?

1 ответ

У меня такая же проблема, и, похоже, это недостаток реализации BLE на Chromebook. Хотя нет исправления или обходного пути, проблема отслеживается по адресу https://bugs.chromium.org/p/chromium/issues/detail?id=722987

Другие вопросы по тегам