La captura de la pantalla antes de que sea demasiado tarde
Tengo una actividad que, en su onPause tiene que hacer algún trabajo, pero no cuando la pantalla está apagada. Ya he registrado el receptor para la intención ACTION_SCREEN_OFF
y, teóricamente, esto y un indicador estático en el nivel de la aplicación debe hacer el truco, pero … No funciona porque la devolución de llamada onPause
en la actividad se invoca ANTES que el receptor puede obtener Su intención. Es decir: logcat * ting * mientras empuja hacia abajo el botón inactivo, puedo ver el rastro onPause
primero y el onReceive
después. En este punto, la configuración de la bandera estática no es muy importante …
¿Alguna posibilidad de saber en el tiempo de onPause
la actividad que la pantalla ha apagado?
- Android layout-land y manejo de rotación de pantalla
- screen.width + android
- Fondo de pantalla de Android / dimensiones de fondo
- Evita la rotación de la pantalla en Android
- ¿No puede obtener fondos de degradado para verse bien?
Gracias por adelantado
L.
- ¿Cómo se puede averiguar qué relación de aspecto pertenece la pantalla del teléfono: WQVGA, WVGA, VGA, HVGA, etc?
- Ratio de pantalla de Android
- Activación de la pantalla mediante programación
- Cómo comprobar si mi aplicación es el iniciador predeterminado
- Tamaños extraíbles de los androides cambia en la pantalla al leer la imagen del archivo
- ¿Diferencia entre Wakelock y FLAG_KEEP_SCREEN_ON?
- ¿Cómo puedo escribir mediante programación un acceso directo a una página específica en la pantalla de inicio del lanzador de Android?
- Mantener la pantalla encendida, żde qué manera?
Tuve el mismo problema y un receptor no es el camino a seguir
desarrollador de Android
http://developer.android.com/reference/android/content/BroadcastReceiver.html
"Nota: Si está registrando un receptor en su implementación de Activity.onResume (), debe anular su registro en Activity.onPause () (no recibirá intenciones cuando se detiene, lo que reducirá la sobrecarga innecesaria del sistema). Unregister en Activity.onSaveInstanceState (), porque no se llamará si el usuario se mueve de nuevo en la pila de historial. "
En su lugar, cree un administrador de energía en su método onPause [lo tengo de este enlace]
Cómo averiguar el estado de la pantalla en un dispositivo Android?
public void onPause(){ PowerManager powermanager =(PowerManager)global.getSystemService(Context.POWER_SERVICE); if (powermanager.isScreenOn()){ screen_off_beforePause = false; //your code here }else{ screen_off_beforePause = true; } } public void onResume() { if (screen_off_beforePause){ Log.e(TAG + ".onResume()", "screen was off before onPause"); }else{ Log.d(TAG + ".onResume()", "secreen was not off befgore onPause"); //your code here } //resetting screen_off_beforePause = false; }
- ¿Cómo obtener información sobre los satélites de android?
- La alarma se borra al reiniciar en nadroid