Al modificar la frecuencia de las actualizaciones en segundo plano para reducir el efecto de estas actualizaciones en la duración de la batería, verificar el nivel actual de la batería y el estado de carga es un excelente lugar para comenzar. El impacto en la duración de la batería al realizar actualizaciones de aplicaciones depende del nivel de la batería y del estado de carga del dispositivo. El efecto de realizar actualizaciones mientras el dispositivo se está cargando con CA es insignificante, por lo que, en la mayoría de los casos, maximice la frecuencia de actualización siempre que el dispositivo esté conectado a un cargador de pared. Por el contrario, si el dispositivo se está descargando, reducir la tasa de actualización ayuda a prolongar la duración de la batería. Del mismo modo, verificará el nivel de carga de la batería, lo que podría reducir la frecuencia de las actualizaciones, o incluso detenerlas, cuando la carga de la batería esté casi agotada. Existen 2 tipos de carga en cualquier smartphone:
- Carga USB: Carga de bus serie universal: Carga desde salidas USB como el puerto USB de una computadora portátil: 500 miliamperios máx.
- Carga de CA: Carga de corriente alterna: Carga desde un cargador de pared: 2 amperios máx.
kotlin
Acercarse
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.
Paso 2: trabajar con el archivo activity_main.xml
actividad_principal.xml Brindis actividad_principal.xml
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Click" /> </RelativeLayout>
Paso 3: trabajar con el archivo MainActivity.kt
Finalmente, vaya al archivo MainActivity.kt y consulte el siguiente código. MainActivity.kt
Kotlin
import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Button onclick will display the type of charging val btn = findViewById<Button>(R.id.btn) btn.setOnClickListener { // Intent to check the actions on battery val batteryStatus: Intent? = IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { ifilter -> applicationContext.registerReceiver(null, ifilter) } // isCharging if true indicates charging is ongoing and vice-versa val status: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_STATUS, -1) ?: -1 val isCharging: Boolean = status == BatteryManager.BATTERY_STATUS_CHARGING || status == BatteryManager.BATTERY_STATUS_FULL // usbCharge is true when connected to usb port and same with the ac wall charger val chargePlug: Int = batteryStatus?.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) ?: -1 val usbCharge: Boolean = chargePlug == BatteryManager.BATTERY_PLUGGED_USB val acCharge: Boolean = chargePlug == BatteryManager.BATTERY_PLUGGED_AC // Display whatever the state in the form of a Toast when { usbCharge -> { Toast.makeText(applicationContext, "USB Charging", Toast.LENGTH_LONG).show() } acCharge -> { Toast.makeText(applicationContext, "AC Charging", Toast.LENGTH_LONG).show() } else -> { Toast.makeText(applicationContext, "Not Charging", Toast.LENGTH_LONG).show() } } } } }
Salida: ejecutar en dispositivo físico
Controle el estado de la batería en la barra de estado. La secuencia de acciones:
- Inicialmente no conectado.
- Conectado al puerto USB del portátil.
- Desconectado.
- Conectado al cargador de pared de CA.
- Desconectado.
Publicación traducida automáticamente
Artículo escrito por aashaypawar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA