Ich arbeite mit ANCS kompatiblen Android BLE App. Der ANCS-Inhaltskonsument ist ein nRF52-basiertes Ding, das nach ANCS-Benachrichtigungen lauscht und (auch) in der Lage sein sollte, das Telefonvolumen einzustellen.BLE: HID Eingabegerät zusammen mit ANC Service
Ich habe den ANCS als erwünschte UUID im Werbepaket und die HID-Geräte-UUID im Werbeantwortpaket.
Alles ist gut mit iOS. Alles funktioniert und keine Probleme. Aber mit Android funktioniert der ANCS-Teil meines Systems in Ordnung, aber ich kann nicht den Volume-Teil arbeiten. Nach dem Bonden zeigt der Android das Gerät als Eingabegerät an und es wird auch zur Eingabe ausgewählt. Wenn ich versuche, die Lauter/Leiser-Taste zu senden, bekomme ich keine Anzeige von der Android-Seite.
Meine Annahme war, dass ich keine Verbindung zum nrf Board als peripheral (bluetoothdevice.connectGatt()), ich habe nur Gatt Server läuft und die nrf Board den ANCS-Dienst. Dieser Teil funktioniert gut. Ich habe auch versucht, es über connectGatt zu verbinden und die Dienste zu überprüfen und die Benachrichtigungen dafür zu aktivieren. Ich kann jedoch keine Anzeige sehen, wenn ich den Schlüssel sende. Wenn ich das Lesen für das Merkmal oder den Deskriptor anfordere, funktioniert das OK.
Gibt es einen grundlegenden Fehler in meinem Denken? Sollte das Android-Framework nicht mit dem Tastaturteil umgehen? Auch warum kann ich keine Benachrichtigung über die Änderung von input_report erhalten?
Hallo @Maash! Wir arbeiten an einer ähnlichen Anwendung, bei der wir ANCS-Service und BLE-Service aus unserer nativen iOS-App kombinieren, um Benachrichtigungen und einige benutzerspezifische Einstellungen und Einstellungen auf SensorTag (TI-CC2650) zu erhalten. Jetzt funktionieren die ANCS- und BLE-Dienste einzeln, funktionieren jedoch nicht mehr, wenn sie miteinander kombiniert werden. Können Sie uns vorschlagen, was wir hier falsch machen könnten? Danke! –