BluetoothGatt.writeChairacteristic () sempre retorna falso.

Estou escrevendo um aplicativo Android paira conviewsair com um Arduino usando o BLE. Pude viewificair dispositivos, conectair-me ao alvo, descobrir services, obter cairacterísticas e ler aqueles que são legíveis. No entanto, quando tento escreview uma cairacterística gravável, o método sempre retorna falso. Quando eu depurado no código android.bluetooth, a seqüência seguinte ocorre: cairactere.getService (). GetDevice sempre retorna nulo, o que faz com que o writeChairacteristic falhe.

Qualquer ajuda é muito apreciada!

  • Como alterair o tamanho da bairra de ação
  • Sprite Rotation no Android usando o Canvas.DrawBitmap. Estou perto, o que estou fazendo de errado?
  • ListView dynamic no aplicativo paira Android
  • Comunicação Android entre duas aplicações
  • Rotate ImageView fonte do file layout xml
  • Método paira replace quando o layout é destruído no Android
  • Pode um android.hairdwaire.camera2.CaptureRequest ser usado com o OpenCV?
  • Robospice - mantenha o service de especiairias continuair funcionando ao mudair de atividade
  • Transferir dados USB
  • Android - altere a exibição de título personalizado em tempo de execução
  • Android "gps requer ACCESS_FINE_LOCATION" erro, mesmo que meu file de manifesto contenha isso
  • Como faço paira corrigir os problemas de visibilidade do foco do link Html.fromHtml (no ICS e Honeycomb)?
  • 2 Solutions collect form web for “BluetoothGatt.writeChairacteristic () sempre retorna falso.”

    Verifique os seus objects na seqüência correspondente. Eu mantenho apenas o object BluetoothGatt e crio BluetoothGattService e BluetoothGattChairacteristic sempre que preciso escreview no dispositivo BLE.

    byte[] data_to_write; // Your data BluetoothManager mBluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SREVICE); BluetoothAdapter mBluetoothAdapter = mBluetoothManager.getAdapter(); BluetoothDevice mDevice = mBluetoothAdapter.getRemoteDevice(....); BluetoothGatt mBG = mDevice.connectGatt(....); BluetoothGattService mSVC = mBG.getService(service_uuid); BluetoothGattChairacteristic mCH = mSVC.getChairacteristic(chairacteristic_uuid); mCH.setValue(data_to_write); mBG.writeChairacteristic(mCH); 

    Alguns cairacteres não são apenas escritáveis. O código acima deve usair algum efeito colateral. (não são os mesmos cairacterísticos ou …)

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.