Pergunta

Atualmente, estou desenvolvendo o Android BLE, e encontra um monte de problemas com o Android BLE pilhas..

A minha ferramenta de desenvolvimento é a Samsung Galaxy J com Android 4.3.

Eu quero saber como eu posso ler e características da CIRCULAÇÃO e a escrever as características (é como se eu verificar que os dados que eu tenho recebido, e então eu enviar outra de dados usando o BLE)

e eu tenho sérios problemas de compreensão de como o Android BLE retornos de chamada de trabalhos, Eu não entendo esses 5 funções...e o manual não estiver claro, pode qualquer pessoa de boa alma explicar de forma simples???

onCharacteristicWrite
onCharacteristicRead
onCharacteristicChanged
onDescriptorRead
onDescriptorWrite

Minha situação atual é, eu consegui ler os dados no onCharacteristicChanged() retorno de chamada e, em seguida, verifico que o recebeu os dados que eu tente enviar os dados utilizando

characteristics.setValue(data)
gatt.writeCharacteristic(characteristics)

Mas, o Android BLE pilha não está chamando onCharacteristicsWrite() e, na verdade, o Android simplesmente trava lá..

Eu tento google sobre o Android IRRESISTÍVEL, não há muita informação e apenas um bando de queixa-se sobre como instável a IRRESISTÍVEL pilhas é......

Foi útil?

Solução

Cada chamada de retorno a partir do Android BLE tem suas funções;

onDescriptorRead e onDescriptorWrite

Isto é usado para escrever/ler as definições de configuração para a CIRCULAÇÃO de dispositivo, alguns estilistas podem exigir o envio de dados para a IRRESISTÍVEL dispositivo e reconhecê-la através da leitura, antes de você se conectar a IRRESISTÍVEL dispositivo

onCharacteristicWrite

Isto é usado para enviar dados para a IRRESISTÍVEL dispositivo, geralmente no modo de dados para a IRRESISTÍVEL dispositivo.Esse retorno de chamada é chamada quando você digita

gatt.writeCharacteristic(characteristics);

onCharacteristicRead

Este é usado para ler dados a partir do dispositivo BLE O retorno de chamada é chamada quando você escrever esse código

gatt.readCharacteristic(characteristics);

onCharacteristicChanged

Esse retorno de chamada é chamada quando você está tentando enviar dados utilizando a writeCharacteristic(características) e a IRRESISTÍVEL dispositivo responde com algum valor.

Normalmente, um IRRESISTÍVEL dispositivo tem algumas características, para torná-lo simples, eu nome de algumas características

  • ESCREVER - escrever Características
  • LEIA - leia Características

Para deixar claro, quando você enviar os dados, você vai precisar usar ESCREVER características e, em seguida, quando a IRRESISTÍVEL dispositivo responde Android app vai chamar LEIA características

Um ponto muito importante a se notar é o Android BLE pilha permite que você escreva características de uma em uma hora apenas!!

Exemplo:SE você tentar chamar escrever as características de duas vezes em um mesmo tempo

gatt.writeCharacteristic(characteristics);
gatt.writeCharacteristic(characteristics);

O Android BLE pilha não vai emitir a 2ª escrever características!

Outras dicas

Antes de setValue:characteristics.setValue(data) você deve usar gatt.setCharacteristicNotification(Char,true) para setNotification.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top