2012-03-22 23 views

Respuesta

3

Es posible que necesite ser más específico acerca de su caso de uso.

Mira la Activity Lifecycle.

Tanto onResume(), y onStart() se llamará cuando su actividad viene al primer plano.

Editar:onRestart()?

+0

Necesito exactamente ese evento, cuando la aplicación viene del fondo en primer plano. Es cierto que onResume() y onStart() se llaman en este caso, pero no solo en este caso. Ese es el problema. ¿Cómo puedo hacer una diferencia entre los casos? ¿Cómo puedo decir si la aplicación vuelve del fondo al primer plano o si la actividad simplemente se reinició? – strongmayer

2

No estoy exactamente seguro de lo que está tratando de hacer, pero si quiere decir la diferencia entre estas 2 secuencias:

  • onCreate(), onStart(), onResume()
  • onPause(), onResume()

puede establecer una marca en onPause() y verificar esa marca en onResume().

3

me hace algo como esto, en un BaseActivity

en onResume verifico enterCount es igual a 0 y luego añadir el enterCount en onPause me retraso del enterCount a disminuir en 300 ms, y parece bueno cuando el ISN onCreate tardan dos, o podemos hacer algo en onCreate para evitar la primera vez.

protected void onResume(){ 
     int enterCount=GlobalManager.getInstance().getEnterCount(); 
     if(enterCount==0){ 
      //do some thing for first enter 
     } 
     GlobalManager.getInstance().increaseEnterCount(); 
} 

protected void onPause(){ 
     GlobalManager.getInstance().decreaseEnterCountDelay(); 

} 
+0

¿Cuál es su razón de ser? ¿Puedes explicar? –

Cuestiones relacionadas