电池状态总是返回 Null

Posted

技术标签:

【中文标题】电池状态总是返回 Null【英文标题】:Battery State Always Returning Null 【发布时间】:2013-06-26 19:42:17 【问题描述】:

我有以下方法可以正确返回电池电量,但无法获取电池状态。它总是返回 UNKNOWN。

-(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 返回正确的电池状态?

【问题讨论】:

***.com/a/16850740/1710611 【参考方案1】:

尝试在切换之前移动这条线。

[device setBatteryMonitoringEnabled:YES];

默认禁用的电池监控会阻止您正确读取电池状态。

【讨论】:

以上是关于电池状态总是返回 Null的主要内容,如果未能解决你的问题,请参考以下文章

游戏状态单例 cocos2d,initWithEncoder 总是返回 null

电池温度返回 null

app耗电优化之一 根据电池情况做任务安排

Android savedInstanceState 总是返回 null

Android getSupportedVideoSizes 总是返回 null

GraphQL 总是返回 null