我正在使用ANCS兼容的android BLE应用程序。ANCS内容消费者是基于nRF52的设备,它可以监听ANCS通知,并且(应该)还能够调节电话音量。
我已经在广告包中获得了and作为请求的UUID,并在广告响应包中获得了HID设备UUID。
iOS一切都很好。一切正常,没有问题。然而,在android上,我系统的ANCS部分工作正常,但我无法让音量部分工作。绑定之后,android会将该设备显示为输入设备,并且还会选择该设备进行输入。如果我尝试发送音量up/down键,我没有从android端得到任何指示。
我的假设是我不需要作为外设(bluetoothdevice.connectGatt())连接到NRF板,我只需要运行gatt服务器并为NRF板提供ANCS服务。这部分工作得很好。我也尝试过通过connectGatt连接它,检查服务并为它启用通知。但是,当我发送密钥时,我看不到任何指示。如果我请求读取特征或描述符,则可以正常工作。
我的思维有没有什么根本性的缺陷?android框架不应该处理键盘部分吗?另外,为什么我无法收到有关input_report更改的任何通知?
发布于 2016-05-12 20:21:29
好了,这个键盘现在也可以在Android上使用了。我将在gatt回调中收听键盘音量。之前试验的问题是,我只是在一个循环中启用并读取了特征和描述符。在我序列化操作之后,它工作得很好。
https://stackoverflow.com/questions/37182561
复制相似问题