问题
This is simple code of my simple batteryLevel Test app.
- (void)viewDidLoad
{
[super viewDidLoad];
UIDevice *device = [UIDevice currentDevice];
device.batteryMonitoringEnabled = YES;
mLabel.text = [NSString stringWithFormat:@"%0.5f",device.batteryLevel];
}
This is the image of my app, hope you can see the status bar battery level and my application battery level. I don't know why these levels are different....? one is 99% and apps level is 0.95 which is actually 95%
回答1:
// Enable this property
UIDevice.current.isBatteryMonitoringEnabled = true
// Then add observer
NotificationCenter.default.addObserver(self, selector: #selector(batteryLevelDidChange(notification:)), name: NSNotification.Name.UIDeviceBatteryLevelDidChange, object: nil)
Observer method
@objc func batteryLevelDidChange(notification: NSNotification) {
// The battery's level did change
print(UIDevice.current.batteryLevel)
}
来源:https://stackoverflow.com/questions/7360400/how-to-get-the-exact-battery-level