Akkumulátor és töltés

Android esetén további módosítás: Projekt.Android > Properties > AndroidManifest.xml
<uses-permission android:name="android.permission.BATTERY_STATS" />
 
C#
// Töltöttségi szint lekérdezése
var level = Battery.ChargeLevel;
string stringLevel = level.ToString();
 
// Aktuális állapot lekérdezése
var state = Battery.State;
string stringState = null;
switch (state)
{
    case BatteryState.Charging:
        stringState = "Töltődik";
        break;
    case BatteryState.Full:
        stringState = "Teljesen feltöltve";
        break;
    case BatteryState.Discharging:
    case BatteryState.NotCharging:
        stringState = "Nem töltődik";
        break;
    case BatteryState.NotPresent:
    case BatteryState.Unknown:
        stringState = "Nem meghatározható";
        break;
}
 
// Forrás lekérdezése
var source = Battery.PowerSource;
string stringSource = null;
switch (source)
{
    case BatteryPowerSource.Battery:
        stringSource = "Akkumulátor";
        break;
    case BatteryPowerSource.AC:
        stringSource = "A/C";
        break;
    case BatteryPowerSource.Usb:
        stringSource = "USB";
        break;
    case BatteryPowerSource.Wireless:
        stringSource = "Vezeték nélküli";
        break;
    case BatteryPowerSource.Unknown:
        stringSource = "Nem meghatározható";
        break;
}
 
// Megnézni, hogy energia kímélő módban fut-e
var energySaver = Battery.EnergySaverStatus;
string stringEnergySaver = null;
if (energySaver == EnergySaverStatus.On)
{
    stringEnergySaver = "Energiatakarékos üzemmód bekapcsolva";
}
else {
    stringEnergySaver = "Nincs energiatakarékos üzemmódban";
}
 
// Eredmény kiíratása
DisplayAlert("Figyelem", stringLevel + " / " + stringState + " / " + stringSource + " / " + stringEnergySaver, "OK");
 
Állapotmódosítás figyelése
Függvény meghívása
Battery.BatteryInfoChanged += Battery_BatteryInfoChanged;
 
Függvény
void Battery_BatteryInfoChanged(object sender, BatteryInfoChangedEventArgs e)
{
    var level = e.ChargeLevel;
    var state = e.State;
    var source = e.PowerSource;
    Console.WriteLine($"Reading: Level: {level}, State: {state}, Source: {source}");
}

 

Mobilos kategóriák: