Red de conocimiento informático - Conocimiento informático - ¿Cómo comprar una batería después de conectarla horizontalmente a un dispositivo BLE?

¿Cómo comprar una batería después de conectarla horizontalmente a un dispositivo BLE?

public class BluetoothLeService extiende el servicio {

UUID final estático privado Battery_Service_UUUID = UUID.fromString("0000180F-0000- 1000-8000-00805f9b34fb"

UUID final estático privado Battery_Level_UUUID = UUID .fromString("00002a19-0000-1000-8000-00805f9b34fb");

public void onCharacteristicRead(BluetoothGatt gatt, característica BluetoothGattCharacteristic, estado int) {

if( estado == BluetoothGatt.GATT_SUCCESS) {

broadcastUpdate(ACTION_DATA_AVAILABLE, característica

}

}

}

transmisión vacía privadaUpdate(acción de cadena final, característica BluetoothGattCharacteristic final) {

Intención final intención = nueva Intención(acción

Log.v(TAG, "characteristic.getStringValue(0) = " característica.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0));

intent.putExtra(DeviceControl.EXTRAS_DEVICE_BATTERY, feature.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0));

sendBroadcast(intent );

}

public void getbattery() {

BluetoothGattService BatteryService = mBluetoothGatt.getService(Battery_Service)getService(Battery_Service_UUID);

if(batteryService == null) {

Log.d(TAG, "¡Servicio de batería no encontrado!");

return

}

BluetoothGattCharacteristicbatteryLevel =batteryService.getCharacteristic(Battery_Level_UUID);

if(batteryLevel == null) {

Log.d(TAG, "¡Nivel de batería no encontrado!");

return

}

mBluetoothGatt.readCharacteristic(batteryLevel);

Log.v(TAG, "batteryLevel = " mBluetoothGatt.readCharacteristic(batteryLevel)); > Cuando llamas a la función getbattery(), llama a onCharacteristicRead. onCharacteristicRead llamará a broadcastUpdate, pasará las características y actuará en consecuencia.

characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0) durante la transmisiónUpdate es el valor de la batería del dispositivo BLE.