Java 蓝牙当前电池百分比
你好!无法以百分比形式获取电池百分比。我ve已成功连接到GATT服务,并完成了以下操作:Java 蓝牙当前电池百分比,java,c#,android,bluetooth,bluetooth-gatt,Java,C#,Android,Bluetooth,Bluetooth Gatt,你好!无法以百分比形式获取电池百分比。我ve已成功连接到GATT服务,并完成了以下操作: public override void OnServicesDiscovered(BluetoothGatt Gatt, [GeneratedEnum] GattStatus Status) { base.OnServicesDiscovered(Gatt, Status); if (Status == GattStatus.Success
public override void OnServicesDiscovered(BluetoothGatt Gatt, [GeneratedEnum] GattStatus Status)
{
base.OnServicesDiscovered(Gatt, Status);
if (Status == GattStatus.Success)
{
if(Service.Uuid.Equals(UUID.FromString("0000180f-0000-1000-8000-00805f9b34fb")))
{
BluetoothGattCharacteristic characteristic = Service.GetCharacteristic(UUID.FromString("00002a19-0000-1000-8000-00805f9b34fb"));
if(characteristic!=null)
{
Gatt.ReadCharacteristic(characteristic);
}
}
}
}
else
{
MainActivity.AppendLog("onServicesDiscovered received: " + Status);
}
}
然后,阅读
public override void OnCharacteristicRead(BluetoothGatt Gatt, BluetoothGattCharacteristic Characteristic, [GeneratedEnum] GattStatus Status)
{
base.OnCharacteristicRead(Gatt, Characteristic, Status);
var batteryData = Characteristic.GetValue();
}
我只得到77,这不是电池百分比(0-64)。设备总是发送这个号码,我试着给设备充电并等待低电量的电池,但总是收到这个号码。谢谢您的帮助。您的代码看起来正确,所以可能是设备报告不正确?我会尝试使用ready应用程序(如nRF Connect)读取电池电量。这样,您就可以知道问题是出在您的代码上还是出在设备本身上。您的代码看起来是正确的,所以可能是设备报告不正确?我会尝试使用ready应用程序(如nRF Connect)读取电池电量。这样,您就可以知道问题是出在代码上还是出在设备本身上。