Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 private static void OnBatteryLevelValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args)
 {
     Messenger.Default.Send(new Messages.DeviceBatteryMessage(BatteryHelper.GetPercentage(args.CharacteristicValue)));
 }