Reputation: 20975
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
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