Battery status API in macOS?

前端 未结 4 571
北荒
北荒 2020-11-28 07:49

How can I read the status of the battery on my MacBookPro from my own application?

Googling has so far only revealed APIs for device drivers to handle power events -

相关标签:
4条回答
  • 2020-11-28 08:43

    Look at the System Management Controller. I don't have my MBP handy, but I believe you need to look at smc.h

    0 讨论(0)
  • 2020-11-28 08:46

    Maybe help extracted text into script app

    pmset -g batt | head -n 1 | cut -c19- | rev | cut -c 2- | rev
    

    output

    Battery Power
    AC Power
    
    0 讨论(0)
  • 2020-11-28 08:47

    You'll want to use IOKit for this, specifically the IOPowerSources functions. You can use IOPSCopyPowerSourcesInfo() to get a blob, and IOPSCopyPowerSourcesList() to then extract a CFArray out of that, listing the power sources. Then use IOPSGetPowerSourceDescription() to pull out a dictionary (see IOPSKeys.h for the contents of the dictionary).

    0 讨论(0)
  • 2020-11-28 08:52

    If you're looking for a quick way to query it from the command line, you'll find the pmset command helpful. To query the battery status, specifically, use:

    $ pmset -g batt
    
    0 讨论(0)
提交回复
热议问题