¿Cómo se puede crear un oyente de Android para realizar una tarea justo antes de ingresar al modo de ahorro de energía? Además, ¿cuáles son algunas de las opciones de bajo consumo que se pueden controlar con esta tarea?oyente de modo de ahorro de energía de Android?
Respuesta
La respuesta anterior (por API 21 y superior) es no exactamente correcto. Usted debe registrar un receptor en su actividad o servicio como este:
BroadcastReceiver powerSaverChangeReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
checkPowerSaverMode();
}
};
IntentFilter filter = new IntentFilter();
filter.addAction("android.os.action.POWER_SAVE_MODE_CHANGED");
registerReceiver(powerSaverChangeReceiver, filter);
La razón de esto es que los receptores de manifiesto no son provocados por esta emisión.
ACTION_POWER_SAVE_MODE_CHANGED
Intención que se emite cuando el estado de isPowerSaveMode) cambios (. Esta transmisión solo se envía a los receptores registrados.
He probado esto y funciona.
¿Cómo se puede crear un oyente de Android para realizar una tarea justo antes de ingresar al modo de ahorro de energía?
No hay emisión Intent
para esto. El más cercano es ACTION_SCREEN_OFF
. Es probable que el dispositivo se quede dormido en el futuro cercano después de recibir esta transmisión. Y, solo puede escuchar esta transmisión usando un BroadcastReceiver
registrado a través de registerReceiver()
en una actividad o servicio u otro Context
.
También: ¿Cuáles son algunas de las opciones de bajo consumo que se pueden controlar con esta tarea?
No tengo idea de lo que esto significa, lo siento.
La pantalla apagada es una parte del ahorro de energía que se puede desactivar en Configuración> Aplicaciones> Desarrollo. ¿Pueden otras aplicaciones de ahorro de energía, como cerrar la interfaz de la tarjeta microSD, controlarse mediante una aplicación? – jacknad
@JackN: No estoy seguro de lo que piensas que es "cerrar la interfaz de la tarjeta microSD". Consulte 'android.provider.Settings.System' para ver el tipo de cosas que puede controlar. Más allá de esa lista, no hay nada relacionado con el poder que pueda pensar en las líneas en las que pareces estar interesado. – CommonsWare
Dado que Lollipop (API 21) hay PowerManager#ACTION_POWER_SAVE_MODE_CHANGED intención de transmisión.
por lo que necesita sólo para recibirlo:
AndroidManifest.xml:
<receiver android:name=".observers.PowerSaveModeReceiver">
<intent-filter>
<action android:name="android.os.action.POWER_SAVE_MODE_CHANGED"/>
</intent-filter>
</receiver>
PowerSaveModeReceiver.java:
public class PowerSaveModeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
if (BuildConfig.DEV_LOGS)
Log.d(this.getClass().getName(), String.format("onReceive(context = [%s], intent = [%s])", context, intent));
final PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (pm.isPowerSaveMode()) {
// do something
} else {
// do some else
}
}
}
¿Funciona para ti? Está escrito en los documentos "Esta transmisión solo se envía a los receptores registrados". ... –
- 1. ¿Qué es el "Modo de ahorro de energía" en IntelliJ IDEA y otros IDEs de Jetbrains?
- 2. Android App consumo de energía
- 3. Oyente de red Android
- 4. ¿Qué línea de código podría usar en C++ para desactivar el ahorro de energía?
- 5. El bloqueo WiFi no funciona, ¿cómo evitar el ahorro de energía wifi?
- 6. Cómo simular el modo de suspensión en el emulador de Android
- 7. ¿Cómo hacer un ahorro de energía en un sistema Embedded Linux basado en ARM?
- 8. Oyente de Internet Ejemplo de Android
- 9. Oyente de eventos personalizados de Android
- 10. prácticas de Android Live Wallpaper para el rendimiento y el ahorro de batería?
- 11. Oyente para Fin de llamada en Android
- 12. USB estado de energía
- 13. Codificación de software eficiente de energía
- 14. Calcular el consumo de energía del sensor Android
- 15. ¿Cómo detectar el estado conectado de energía?
- 16. Parada del oyente en Android
- 17. Android ExpandableListView oyente de clic de grupo largo prevenir expand
- 18. Android, oyente Checkbox en XML?
- 19. Android - Estado de ahorro del diseño cambiado dinámicamente
- 20. Android Nexus One: ¿Puedo ahorrar energía con el esquema de colores?
- 21. Oyente de acciones Java
- 22. Oyente de creación de subprocesos
- 23. código de ahorro de depósito de garantía?
- 24. Eliminar un oyente de una vista en android
- 25. ahorro de entrada de audio de Android de motor de reconocimiento de voz
- 26. Matlab figura de ahorro con tamaño predefinido
- 27. Ahorro de sesión de Jetty/Tomcat
- 28. Ahorro de todo un paquete de SharedPreferences
- 29. Fuente de ahorro de uno mismo (PHP)
- 30. ¿Hay un Oyente de llamadas caídas?
¿Hay alguna manera de simplemente verificar si el dispositivo está en modo de ahorro de energía? – jmrodrigg
@jmrodrigg solo puede usar '' 'PowerManager pm = (PowerManager) context.getSystemService (Context.POWER_SERVICE); boolean powerSave == m.isPowerSaveMode(); '' ' – nattster
@nattster ¡Gracias! – jmrodrigg