Peter Lapisu
Peter Lapisu

Reputation: 20975

How to determine if OSX is on battery and not in power

I would like to adjust functionality of my app when in battery mode

How to detect for an application it is in battery mode, etc. when the mode changes?

Upvotes: 5

Views: 850

Answers (1)

eonil
eonil

Reputation: 85985

IOPSGetTimeRemainingEstimate function returns amount of remaining power.

Cited from the discussion section:

If attached to an "Unlimited" power source, like AC power or any external source, the return value is kIOPSTimeRemainingUnlimited

If the system is on "Limited" power, like a battery or UPS, but is still calculating the time remaining, which may take several seconds after each system power event (e.g. waking from sleep, or unplugging AC Power), the return value is kIOPSTimeRemainingUnknown

Otherwise, if the system is on "Limited" power and the system has an accurate time remaining estimate, the system returns a CFTimeInterval estimate of the time remaining until the system is out of battery power.

If you require more detailed battery information, use IOPSCopyPowerSourcesInfo> and IOPSGetPowerSourceDescription>.


IOPSNotificationCreateRunLoopSource function can be used to register a callback function on power source related events.

Upvotes: 5

Related Questions