2016-05-12 4 views
0

Я работаю с ANCS-совместимым Android-приложением BLE. Потребитель контента ANCS представляет собой nRF52-based thingie, который слушает уведомления ANCS и (должен) также может регулировать громкость телефона.BLE: устройство ввода HID вместе с сервисом ancs

У меня есть ANCS как запрошенный UUID в рекламном пакете и UID идентификатора HID в рекламном пакете ответа.

Все хорошо с iOS. Все работы и никаких проблем. Однако с андроидом часть ANCS моей системы работает нормально, но я не могу заставить часть тома работать. После склеивания андроид показывает устройство в качестве устройства ввода, и он также выбирается для ввода. Если я попытаюсь отправить клавишу увеличения вверх/вниз, я не получаю никаких указаний со стороны Android.

Мое предположение заключалось в том, что мне не нужно подключаться к nrf-плате в качестве перипала (bluetoothdevice.connectGatt()), у меня только что запущен gatt-сервер и предоставлен совет nrf для службы ANCS. Эта часть работает отлично. Я также попытался подключить его через connectGatt и проверить службы и включить уведомления для него. Однако, когда я отправляю ключ, я не вижу никаких признаков. Если я попрошу прочитать для характеристики или дескриптора, это работает нормально.

Есть ли какой-то фундаментальный недостаток в моем мышлении? Разве андроидная рама не должна обрабатывать часть клавиатуры? Также почему я не могу получить уведомление об изменении input_report?

+0

Hello @Maash! Мы работаем над аналогичным приложением, в котором мы пытаемся объединить службу ANCS и службу BLE из нашего родного приложения iOS для получения уведомлений и некоторых пользовательских настроек и настроек на SensorTag (TI-CC2650). Теперь службы ANCS и BLE работают отлично по отдельности, но перестают работать в сочетании друг с другом. Не могли бы вы предложить, что мы можем делать неправильно здесь? Спасибо! –

ответ

0

Хорошо, теперь клавиатура работает и с Android. Я буду слушать громкость клавиатуры в обратном вызове gatt. Проблема с предыдущим испытанием заключалась в том, что я только что включил &, чтобы прочитать характеристики и дескрипторы в цикле. После того, как я сериализовал операции, он отлично работает.

+0

Не могли бы вы рассказать о том, как вам удалось прочитать ключи от пульта? вам удалось подключиться и получать отчеты HID после gatt connect()? Я застрял с чем-то похожим, поэтому некоторые рекомендации будут действительно полезными. – GPS

+0

Да. Профиль HID должен был быть цельной клавиатурой, а не только специальными клавишами для громкости. А также убедитесь, что профиль также является клавиатурой. Othervise iOS игнорирует вход. – Maash

+0

С профилем я хотел сказать, что вы должны иметь вид GAP как клавиатуру. – Maash

 Смежные вопросы

  • Нет связанных вопросов^_^