Batterie Status abfragen

keinbrain

keinbrain

Erfahrenes Mitglied
21
Hi, ich bins mal wieder mit einem weiteren Problem an meiner Multifunktionsapp^^ Wie kann ich den Akkustatus abrufen, bzw das Level des akkus. In was wird das überhaupt ausgegeben, in Prozent?
Mein Ansatz von der Seite BatteryManager | Android Developers einfach

String readin1 = android.os.BatteryManager.EXTRA_LEVEL;

zu benutzen , hat leider nicht hingehauen, er gibt mir immer " level " aus :/

Ich hoffe ihr könnt mir sagen wie ich das Problem lösen kann ,und bitte nicht hierrauf Tutorial For Android: Getting Battery Information on Android verweisen, danke :D
 
Das ist wohl nicht so einfach. Aber schau mal hier.
 
Der Status wird über einen sticky Broadcast ständig mitgeteilt. Alles was du zu tun hast ist einen Broadcast receiver in deiner App einzurichten der auf
Intent.ACTION_BATTERY_CHANGED

lauscht.

Beispielcode findest du in den unzähligen open source Batterie Widgets.
z.B.
slw-battery-widget - Android Simple Lightweight Battery Widget / Cpu Widget / Storage Widget / Wlan Scan Widget / Gps Widget / Traffic Meter Widget / Cache Cleaner Widget / Audio Volume Widget / App History Widget - Google Project Hosting
 
Da der Intent sticky ist muss man eben gerade nicht unbedingt einen receiver laufen lassen sondern kann auch pollen.

Code:
Context c = getApplicationContext();
Intent batteryIntent = c.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int rawlevel = batteryIntent.getIntExtra("level", -1);
double bscale = batteryIntent.getIntExtra("scale", -1);
double level = -1;
if (rawlevel >= 0 && bscale > 0)
    level = rawlevel / bscale;
level * 100.0 ist dann die Temperatur in Grad.
 

Ähnliche Themen

B
Antworten
3
Aufrufe
1.307
swa00
swa00
A
  • Andy12345678
Antworten
1
Aufrufe
622
swa00
swa00
H
Antworten
2
Aufrufe
819
HelloWorldx8
H
Zurück
Oben Unten