Ios 电池状态始终返回Null

Ios 电池状态始终返回Null,ios,uidevice,batterylevel,Ios,Uidevice,Batterylevel,我有下面的方法,返回正确的电池充电水平,但没有得到电池状态。它总是返回未知 -(NSString *)batteryStatus { UIDevice *device = [UIDevice currentDevice]; NSString *batteryStateString = nil; switch(device.batteryState) { case UIDeviceBatteryStateUnplugged: batteryStateString = @"Unplugged

我有下面的方法,返回正确的电池充电水平,但没有得到电池状态。它总是返回未知

-(NSString *)batteryStatus
{
UIDevice *device = [UIDevice currentDevice];
NSString *batteryStateString = nil;
switch(device.batteryState)
{
    case UIDeviceBatteryStateUnplugged: batteryStateString = @"Unplugged"; break;
    case UIDeviceBatteryStateCharging: batteryStateString = @"Charging"; break;
    case UIDeviceBatteryStateFull: batteryStateString = @"Full"; break;
    default: batteryStateString = @"Unknown"; break;
}

[device setBatteryMonitoringEnabled:YES];
NSString *statusString = [NSString stringWithFormat:@"Level - %d%% - State - %@",
                          (int)round(device.batteryLevel * 100), batteryStateString];
[device setBatteryMonitoringEnabled:NO];
return statusString;
}

如何从UIDevice返回正确的batterystate?

请尝试在切换之前移动此线路

[device setBatteryMonitoringEnabled:YES];
默认禁用的电池监控将阻止您正确读取电池状态