¿Cómo probar la velocidad de carga de la batería?

¿Cómo puedo detectar la velocidad de carga de la batería en el dispositivo Android? Puedo detectar el estado de la batería usando el código debajo. Pero no la velocidad de carga.

IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); BatteryChangeReceiver receiver = new BatteryChangeReceiver(subscriber); registerReceiver(receiver, filter); public class BatteryChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // here I get all battery status. } } 

También me refiero a esto , esto y esto, pero no puedo encontrar la manera de comprobar la velocidad de carga.

Hay una aplicación ( Ampere ) que muestra la velocidad de carga. Introduzca aquí la descripción de la imagen Introduzca aquí la descripción de la imagen ¿Cómo puedo conseguir esto?

Gracias por adelantado.

Utilice el BatteryManager . Proporciona la propiedad BATTERY_PROPERTY_CURRENT_AVERAGE , que le da la corriente de batería promedio en microamperios. Desafortunadamente, el periodo de tiempo durante el cual se recopila esta información puede variar de un dispositivo a otro. Los valores negativos significan descarga, los valores positivos significan que el teléfono se está cargando.

Como alternativa, puede utilizar BATTERY_PROPERTY_CURRENT_NOW (parece que Ampere está utilizando este enfoque). Devuelve la corriente instantánea de la batería. Puede que no sea precisa, por lo que llamar a esta propiedad un par de veces y calcular el promedio parece una buena idea.

Ejemplo de código:

 BatteryManager batteryManager = (BatteryManager) Context.getSystemService(Context.BATTERY_SERVICE); int averageCurrent = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE); 

No creo que su manera de detectar la velocidad de carga: Pero usted puede hacerlo problemáticamente: 1) Puede registrar el nivel de carga (porcentaje o número) por

Int level = intent.getIntExtra (BatteryManager.EXTRA_LEVEL, 0); BatteryTxt.setText (String.valueOf (nivel) + "%");

2) Y después de un cierto tiempo de procesamiento usted puede conseguir otra vez el nivel cargado actual usando mismo código. 3) A continuación, calcular la diferencia y, a continuación, usted será capaz de saber la velocidad de carga.

Esta es sólo la idea de cómo implementarla.

Espero que esto te ayudará

  • Lectura de Android El accesorio USB lanza ENODEV IOException
  • Grabar audio desde el micrófono usb Android
  • USB_DEVICE_ATTACHED sólo iniciaActividad de Galaxy S3 ICS
  • ¿Conectar el dispositivo USB al emulador de Android?
  • Android: BroadcastReceiver cuando inserta / extrae el dispositivo USB en / desde un puerto USB
  • Registrar la aplicación para iniciar cuando el elemento USB está conectado a la PC
  • Comuníquese con el lector de tarjetas inteligentes a través del host USB de Android
  • La obtención de un cable USB conectado al evento IN / OUT utilizando EXTRA_PLUGGED no funciona
  • Recibir Datos de Host Usb para Android
  • Permiso ATTR {idVendor} para dispositivos USB en linux menta para utilizar tabla mobii protab2 XXL
  • Comunicación por cable de datos Usb en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.