Android 4.3 BTLE como servidor: ¿Cómo iniciar anuncios?

Estoy intentando implementar un BTLE SERVER en el Nexus 7 con la nueva API de BTLE en 4.3. Estoy teniendo varios problemas. Primero no hay ejemplos con el SDK. El único ejemplo es para un cliente. Segundo, la documentación realmente te dice que hagas lo incorrecto. Establece que uno debe usar elBluetoothAdapter.getProfileProxy() with a BluetoothProfile.GATT_SERVER parámetro para obtener elBluetoothGattServer objeto. Este enfoque funcionará, pero uno no podrá vincular la implementación de uno de losBluetoothGattServerCallback a la pila BLE. (Esta devolución de llamada es la forma en que uno responde a las solicitudes de lectura y escritura del cliente, entre otras cosas). Sin embargo, después de tropezar con el problema 58582, un desarrollador señaló la nuevaBluetoothManager.openGattServer() método que toma su devolución de llamada como un parámetro y devuelve unBluetoothGattServer objeto. Bueno, un problema resuelto.

El siguiente tema es más problemático. losBluetoothGattServer la documentación indica que se puede usar esta clase para crear y anunciar servicios y características de Bluetooth LE. La creación de los servicios, etc. no fue un problema, pero se niegan a decir cómo iniciar la publicidad. No hay ningún método en la clase en sí ni en ninguna otra de las clases que puedo encontrar.

¿Alguien sabe como hacer esto? En este momento, todo lo que puedo ver es utilizar el mismo enfoque que utiliza el cliente, pero ese enfoque implica el escaneo (que no es publicidad). Toda la documentación sugiere además que laBluetoothAdapter.startLeScan() Es de hecho solo para escanear.

Entonces, ¿cómo invoco anuncios una vez que todos mis servicios, características y descriptores están en su lugar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta