Android 4.3 BTLE como servidor: Como iniciar anúncios?

Estou tentando implementar um BTLE SERVER no Nexus 7 com a nova API do BTLE em 4.3. Eu estou correndo em vários problemas. Primeiro, não há exemplos com o SDK. O único exemplo é para um cliente. Em segundo lugar, a documentação realmente diz para você fazer a coisa errada. Afirma que é necessário usar oBluetoothAdapter.getProfileProxy() with a BluetoothProfile.GATT_SERVER parâmetro para obter oBluetoothGattServer objeto. Essa abordagem funcionará, mas não será possível vincular a implementação doBluetoothGattServerCallback para a pilha BLE. (Esse retorno de chamada é como uma pessoa responde às solicitações de leitura e gravação do cliente, entre outras coisas.) No entanto, após tropeçar na edição 58582, um desenvolvedor apontou para a novaBluetoothManager.openGattServer() método que leva o seu retorno de chamada como um parâmetro e retorna umBluetoothGattServer objeto. Bem, um problema resolvido.

A próxima edição é mais problemática. oBluetoothGattServer A documentação indica que é possível usar essa classe para criar e anunciar serviços e características Bluetooth LE. Criando os serviços, etc, não foi problema, mas eles deixam de dizer como começar a publicidade. Não há nenhum método na própria classe ou em qualquer outra das classes que eu possa encontrar.

Alguém sabe como fazer isso? No momento, tudo o que vejo é usar a mesma abordagem usada pelo cliente, mas essa abordagem envolve a digitalização (que não é publicidade). Toda a documentação sugere ainda que oBluetoothAdapter.startLeScan() É de fato apenas para digitalização.

Então, como invoco anúncios quando todos os meus serviços, características e descritores estão no lugar?

questionAnswers(4)

yourAnswerToTheQuestion