public static async Task <int> GetBatteryPercentageAsync() { if (BluetoothDevice == null) { return(0); } var characteristic = await BluetoothDevice.GetGattCharacteristicAsync(GattCharacteristicUuids.BatteryLevel); if (characteristic == null) { return(0); } var valueResult = await characteristic.ReadValueAsync(BluetoothCacheMode.Uncached); if (valueResult.Status != GattCommunicationStatus.Success) { return(0); } return(BatteryHelper.GetPercentage(valueResult?.Value)); }
private static void OnBatteryLevelValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args) { Messenger.Default.Send(new Messages.DeviceBatteryMessage(BatteryHelper.GetPercentage(args.CharacteristicValue))); }