29 de febrero de 2016

Android: Detectar si tu móvil Android está cargando su batería

A la hora de ejecutar ciertos scripts de código en tus aplicaciones te puede interesar saber si el móvil Android está conectado a la red eléctrica o no (ya sea vía enchufe, usb o batería externa) ya que ciertos procesos pueden consumir mucha batería y si el móvil se apaga las consecuencias pueden ser poco deseables.

Para detectar si el móvil está cargando o no podemos usar este código:

boolean isPlugged= false;
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int plugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
isPlugged = plugged == BatteryManager.BATTERY_PLUGGED_AC || plugged == BatteryManager.BATTERY_PLUGGED_USB;
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
    isPlugged = isPlugged || plugged == BatteryManager.BATTERY_PLUGGED_WIRELESS;
}
Podéis clonarlo desde esta url de mi Git en BitBucket: https://gabicuesta@bitbucket.org/socialprotools/ischarging.git