Acabo de desarrollar una aplicación de protector de pantalla y encontré un comportamiento extraño en su ciclo de vida. Mi flujo de trabajo es la siguiente:Extraño comportamiento del ciclo de vida en mi aplicación Screen Saver
- empezar mi
RegisterService
, donde me llamoregisterReceiver
método para registrar unBroadcastReceiver
, que puede recibirACTION_SCREEN_OFF
.
2.In el método de esta BroadcastReceiver
onReceive
, comienzo a una actividad como el protector de pantalla.
3.En la actividad, escribo la declaración Log.i()
para rastrear su ejecución.
Mi pregunta es:
Cuando los tiempos de pantalla, o cuando se presiona la tecla de encendido, la pantalla se apaga, y el sistema enviará el mensaje de ACTION_SCREEN_OFF. Como espero, mi receptor inicia la actividad de protector de pantalla. Sin embargo, encuentro que esta actividad llama al onCreate()
, onResume()
, onPause()
, onResume()
secuencialmente de acuerdo con la salida en logcat.
Parece como si alguna una actividad llega en frente de mi protector de pantalla y termina de inmediato, por lo que mi protector de pantalla llama onPause()
y luego onResume()
.
¿Alguna idea? Este problema me perjudica en la programación, por favor ayuda. ¡Gracias!
qué problema causa? – njzk2