iphone - util - ¿Cómo obtener el estado de la batería?
nivel de desgaste bateria iphone (5)
Iphone SDK 3.0 beta es compatible con esto.
¿Cómo obtengo el estado de la batería en un iPhone?
Ahora que se lanza el 3.1 SDK, busque la sección Obtener el estado de la batería del dispositivo en la documentación de UIDevice. Es un abundo de las propiedades de la batería *.
Esto es lo que utilicé para mi cadena como un rápido método de utilidad, tenga en cuenta que debe habilitar el monitoreo de la batería para obtener un valor, y luego, si no desea recibir las notificaciones (obviamente se debe obtener cierta eficiencia, ya que dan tienes la capacidad de apagarlo) luego debes apagarlo nuevamente después (como lo hago en esta función):
NSString *statusString(void)
{
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:@"Battery Level - %d%%, Battery State - %@",
(int)round(device.batteryLevel * 100), batteryStateString];
[device setBatteryMonitoringEnabled:NO];
return statusString;
}
UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
float batLeft = [myDevice batteryLevel];
int i=[myDevice batteryState];
int batinfo=(batLeft*100);
NSLog(@"Battry Level is :%d and Battery Status is :%d",batinfo,i);
switch (i)
{
case UIDeviceBatteryStateUnplugged:
{
[BCStatus setText:NSLocalizedString(@"UnpluggedKey", @"")];
break;
}
case UIDeviceBatteryStateCharging:
{
[BCStatus setText:NSLocalizedString(@"ChargingKey", @"")];
break;
}
case UIDeviceBatteryStateFull:
{
[BCStatus setText:NSLocalizedString(@"FullKey", @"")];
break;
}
default:
{
[BCStatus setText:NSLocalizedString(@"UnknownKey", @"")];
break;
}
}
BCStatus es uilabel.
Las respuestas anteriores son muy buenas, pero todas están en Obj-C, las he usado con otros ejemplos para hacer la misma tarea en MonoTouch
, así que coloco mi código aquí en caso de que alguien lo necesite:
try
{
UIDevice.CurrentDevice.BatteryMonitoringEnabled = true;
_Battery.Level = (int)(UIDevice.CurrentDevice.BatteryLevel * IOSBatteryLevelScalingFactor);
_Battery.State = UIDevice.CurrentDevice.BatteryState;
}
catch (Exception e)
{
ExceptionHandler.HandleException(e, "BatteryState.Update");
throw new BatteryUpdateException();
}
finally
{
UIDevice.CurrentDevice.BatteryMonitoringEnabled = false;
}
También tengo una publicación completa en mi blog para dar todos los detalles aquí