Generalidades

Explore la API de Android PowerManager | por yggr | agosto de 2021

yggr
1*qJP30DWawIcStbHjUipfWw

Echemos un vistazo a Android PowerManager Interfaz de programación de aplicaciones.Esta API existe desde el nivel 1 de API para Obtenga el estado de energía del dispositivo, Por ejemplo, estado térmico, estado de pantalla / interactivo y bloqueo de activación (una forma conveniente de mantener la pantalla / CPU en estado activo).

En este artículo, exploraremos lo que puede hacer con esta API. Hasta el nivel de API 30 (Android 11).

PowerManager API le permite obtener y administrar varios estados de energía del dispositivo. Estos son todos ellos:

  1. Estado termal: El estado térmico del dispositivo (ninguno, leve, moderado, severo, severo, emergencia, apagado). Dependiendo de la gravedad del estado térmico del dispositivo, el sistema operativo restringirá UX y / o restringirá la funcionalidad. En el peor de los casos, es necesario apagar el dispositivo.
  2. Margen térmico: Calcule cuánto margen térmico tiene el dispositivo antes de alcanzar la limitación del servidor.
  3. a pesar de todo Modo de ahorro de energía Encendido: cuando el dispositivo está en modo de ahorro de energía, la aplicación debe reducir sus funciones para ahorrar energía de la batería. Puede escuchar este cambio a través de BroadcastReceiver.
  4. Modo de posicionamiento en modo de ahorro de energía: El comportamiento de la función de posicionamiento cuando el modo de ahorro de energía está activado. Hay 4 modos disponibles: sin cambios, GPS desactivado cuando la pantalla está apagada, todos desactivados cuando la pantalla está apagada, solo en primer plano y solicitudes de límite cuando la pantalla está apagada.
  5. Si el dispositivo está en Modo inactivo: El modo inactivo se produce cuando el dispositivo no se ha utilizado durante un tiempo suficiente y no se ha movido y decidió entrar en un estado de bajo consumo de energía. Puede escuchar este cambio a través de BroadcastReceiver.
  6. ¿La aplicación Ignorar la optimización de la batería: La aplicación puede registrarse en la lista de licencias de energía del dispositivo, para que no se vea afectada por la optimización de la batería. (Aunque ahora la política de Google Play es muy estricta con esta configuración)
  7. Si el dispositivo está en Estado interactivo: Cuando el dispositivo está activo y listo para interactuar con el usuario, el dispositivo está en estado interactivo. Puede escuchar la acción del cambio de pantalla a través de BroadcastReceiver.
  8. Reiniciar Dispositivo: solo permita que las aplicaciones del sistema tengan la función de reinicio.
  9. ¿El dispositivo es compatible Modo de rendimiento continuo: El modo de rendimiento continuo está diseñado para proporcionar un nivel constante de rendimiento durante un largo período de tiempo.
  10. administrar Despertar bloqueo: Wake Lock le permite mantener la CPU en funcionamiento antes de irse a la cama para trabajar. Hay varios niveles de Wake Lock: parcial, completo, atenuado de pantalla y brillo de pantalla. También hay un nivel llamado Proximity Screen Off. Si el sensor de proximidad detecta un objeto cercano, apagará la pantalla.
LEER  Conversión de API basadas en devolución de llamada a Kotlin Flow en Android | por Sarthak Garg | julio de 2021

Si corres source El código de este artículo, puede probar todas estas funciones en su dispositivo de esta manera:

Si ejecuta el código fuente de este artículo, puede probar varias funciones PowerManager Interfaz de programación de aplicaciones.

Ahora te explicaré cómo usar mi función favorita. PowerManager API, que está cerca del bloqueo de activación. Cuando el sensor de proximidad detecta objetos cercanos, esta función apagará su pantalla. Por lo general, verá esta función en las aplicaciones de llamadas. Cuando sostiene el teléfono junto a la oreja, la pantalla se apaga cuando está hablando.

Así es como se hace:

1. Abra Android Studio. Utilice la opción «Actividad vacía» para crear un nuevo proyecto. Establezca minSdkVersion en 21.

2. Agregar android.permission.WAKE_LOCK Para ti AndroidManifest.xml Así: (también puedes agregar android.permissionREQUEST_IGNORE_BATTERY_OPTIMIZATIONS Para otras funciones en este código fuente)

3. Agregar lifecycle-runtime-ktx Para ti app/build.gradle Un archivo como el fragmento de código a continuación. Necesitamos esto para usar corrutinas en Activity.

4. Obtenga el servicio Power Manager en su computadora MainActivity.kt como esto:

5. Implementaremos Proximity Wake Lock en el onClickListener del botón.Lo que debe hacer es verificar primero si su dispositivo es compatible con el bloqueo de activación llamando isWakeLockSupported. Luego, puede crear un bloqueo de activación llamando newWakeLock. Finalmente debes acquire Despierta la cerradura, trabaja un poco y finalmente release Despertar bloqueo.

6. ¡Eso es! Ahora, cuando el sensor de proximidad detecta algo, su dispositivo apagará la pantalla.

¡Como siempre, gracias por leer!

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba