es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cuando la batería esté baja, conecte el dispositivo. Al conectar el dispositivo, se descarta automáticamente el cuadro de diálogo de alerta de actividades.

Este es mi código para el receptor de difusión en el archivo mainactivity.kt.

private val mPlugInReceiver = object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
        val bm = context.getSystemService(Application.BATTERY_SERVICE) as BatteryManager
        val batLevel:Int = bm.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY)
        System.out.println("integerBatteryLevel ===="+batLevel)

        if(batLevel < 20){
            System.out.println("this is low battaroy below 20 % ===="+batLevel)
        }else
        {
            System.out.println("this is nice  battaroy more than 20 % ===="+batLevel)
        }
        when (intent.action) {

            Intent.ACTION_POWER_CONNECTED -> {

                Toast.makeText(context, "Power connected", Toast.LENGTH_SHORT).show()
                openDialogForBatteryStatus(false)
            }
            Intent.ACTION_POWER_DISCONNECTED -> {
                if(batLevel > 20){
                    openDialogForBatteryStatus(false)
                }else
                {
                    Toast.makeText(context, "Power disconnected", Toast.LENGTH_SHORT).show()
                    openDialogForBatteryStatus(true)

                }          
            }
        }
    }
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Este código implementa una función de Receptor de Difusión en el archivo mainactivity.kt

    El código define un objeto mPlugInReceiver, el cual es una subclase de BroadcastReceiver. Este objeto recibe los intents del sistema cuando el dispositivo se conecta o desconecta de una fuente de energía.

    Para cualquier intent recibido, la función primero recupera el nivel actual de la batería usando BatteryManager, y luego verifica si el nivel de la batería está por debajo del 20% o no.

    Si el nivel de la batería está por debajo del 20%, la función abre un diálogo para mostrar el estado de la batería.

    Si el dispositivo está conectado a la fuente de energía, la función muestra un mensaje de toast y abre el diálogo de estado de la batería. Si el dispositivo está desconectado de la fuente de energía, la función verifica si el nivel de la batería está por encima del 20% y abre el diálogo de estado de la batería en consecuencia.

Comments are closed.