Esto es útil solo cuando desea realizar alguna acción justo cuando comienza su actividad y es donde desea verificar si la aplicación está en primer plano o en segundo plano.
En lugar de usar el Administrador de actividades, hay un truco simple que puede hacer a través del código. Si observa el ciclo de actividad de cerca, el flujo entre dos actividades y el primer plano al fondo es el siguiente. Suponga que A y B son dos actividades.
Cuando la transición de A a B: 1. onPause () de A se llama 2. onResume () de B se llama 3. onStop () de A se llama cuando B se reanuda completamente
Cuando la aplicación pasa a segundo plano: 1. onPause () de A se llama 2. onStop () de A se llama
Puede detectar su evento de fondo simplemente poniendo una bandera en actividad.
Haga una actividad abstracta y extiéndala de sus otras actividades, de modo que no tenga que copiar y pegar el código para todas las demás actividades donde necesite un evento de fondo.
En la actividad abstracta, cree la bandera isAppInBackground.
En el método onCreate (): isAppInBackground = false;
En el método onPause (): isAppInBackground = false;
En el método onStop (): isAppInBackground = true;
Solo necesita verificar en su onResume () si isAppInBackground es verdadero. n después de verificar su bandera, vuelva a configurar isAppInBackground = false
Para la transición entre dos actividades, ya que onSTop () de la primera siempre se llamará después de que se reanude la segunda actividad, el indicador nunca será verdadero y cuando la aplicación esté en segundo plano, se llamará a onStop () de la actividad inmediatamente después de onPause y, por lo tanto, el indicador será verdadero cuando abre la aplicación más tarde.
Sin embargo, hay un escenario más en este enfoque. Si alguna de las pantallas de tu aplicación ya está abierta y pones el móvil inactivo, después de un tiempo, el móvil entrará en modo de suspensión y cuando lo desbloquees, se tratará en un evento de fondo.