¿Cómo calcular el tiempo restante de la batería del teléfono Android?

Estoy desarrollando la aplicación de la batería de la salud en Android Studio. Quiero saber cómo calcular el tiempo restante al reproducir música o video, navegar por el sitio web o en modo de espera. He visto muchas aplicaciones de Android como esta, pero no puedo ver el código fuente. Quiero ver el código de ejemplo para calcular el tiempo restante para reproducir música o video y así sucesivamente. Si usted ha desarrollado la aplicación sana de la batería del androide antes, comparta por favor su conocimiento.

– La forma más sencilla y más fácil de calcular la duración de la batería restante:

MainActivity.java:

import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView batteryPercent; private void getBatteryPercentage() { BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { context.unregisterReceiver(this); int currentLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); int level = -1; if (currentLevel >= 0 && scale > 0) { level = (currentLevel * 100) / scale; } batteryPercent.setText("Battery Level Remaining: " + level + "%"); } }; IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryLevelReceiver, batteryLevelFilter); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); batteryPercent = (TextView) this.findViewById(R.id.batteryLevel); getBatteryPercentage(); } } 

Archivo xml:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/batteryLevel" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_vertical|center_horizontal" android:textSize="20dip"> </TextView> </RelativeLayout> 

No se puede adivinar con exactitud cuánto tiempo queda para la descarga de la batería, ya que podría haber diferentes aplicaciones o consumir batería.

Sin embargo, puede obtener la vida de la batería con la ayuda del receptor de radiodifusión registrando un receptor para la acción Intent.ACTION_BATTERY_CHANGED.

Mediante el uso de la siguiente instrucción en el método onReceive () de BroadcastReceiver con la acción de intención anterior, obtendrá el nivel de batería disponible actualmente. Pero no se puede estimar el tiempo restante, porque algunas aplicaciones pueden consumir más energía.

 battery_level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 

El siguiente código le ayudará a calcular el nivel de batería

 public int getBatteryLevel(Context context) { IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatus = context.registerReceiver(null, ifilter); int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); return level; } 
  • No se puede resolver el símbolo 'GoogleCloudMessaging' GCM
  • ¿Puedo conectar Apache Derby DataBase con la aplicación Android?
  • ¿Cómo cambiar el fondo del widget usando RemoteViews?
  • onNavigationItemSelected no se llama
  • Android Google Maps v2 no muestra el icono Compass and Location
  • VoIP RTP Streaming desde / hacia el servidor (en Java) hacia / desde android
  • Android Annotations - Inyección de una lista de tipo superclase
  • Intermittent Connection Reset by Peer errores en Android conexión a .NET REST punto final
  • Esfera 3D OpenGL
  • Error de descifrado: Bloqueo de pad dañado
  • No se puede crear la compilación de la versión tras actualizar los servicios de reproducción a 8.3.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.