Question

How - or what's the best way - to retrieve the device's current battery level in .NET CF 3.5 on Windows Mobile 5 and 6?

Was it helpful?

Solution

I think you want to use the Microsoft.WindowsMobile.Status namepsace (specifically the SystemState class.

using Microsoft.WindowsMobile.Status;

...

BatteryLevel batteryLevel = SystemState.PowerBatteryStrength;
BatteryState batteryState = SystemState.PowerBatteryState;

See this post for the full code sample.

OTHER TIPS

You probably want the State Notification Broker class that Noldorin is recommending. I don't think it gives you very fine grain information. You get information like Low or Very Low. If you need specific percentages consider using GetSystemPowerStatusEx.

HOWTO: Get the Device Power Status GetSystemPowerStatusEx

To add to CJ's response you can find a code example of how to get detailed battery information from http://www.codeproject.com/kb/mobile/Wimopower1.aspx . This information includes the batter's power level, temperature, whether it is charging or draining, and the amount of current being drawn.

Example Output http://j2i.net/resized-image.ashx/__size/800x0/__key/CommunityServer.Blogs.Components.WeblogFiles/home/powerMeter.png

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top