Comprobación sencilla de la configuración de aplicaciones de Android

Estoy siguiendo cuántas actividades están actualmente visibles en mi aplicación (que debería ser 0 o 1) llamando a plusActivity () de onResume () de cada actividad y minusActivity () de onPause ()

Plus / minusActivity está en mi clase myApplication, que extiende Application.

Los métodos incrementan y decrementan un contador. Cada vez que minusActivity () se llama, también publica un runnable que se ejecuta después de 2 segundos. Cuando se ejecuta el runnable, si otra actividad no ha abierto después de la última cerrada hace 2 segundos (por ejemplo, foregroundedActivities == 0 porque nada se llama plusActivity () en 2 segundos), entonces llama a un método para hacer algunas cosas que tiene que suceder Cuando está en segundo plano.

He aquí un fragmento:

public void plusActivity(){ foregroundedActivities++; } public void minusActivity(){ foregroundedActivities--; timingHandler.removeCallbacks(checkBackgroundTask); timingHandler.postDelayed(checkBackgroundTask, 2000); } public void checkIfBackgrounded(){ if(foregroundedActivities==0){ doWhateverWeDoWhenBackgrounded(); } } public Runnable checkBackgroundTask=new Runnable(){ @Override public void run() { checkIfBackgrounded(); } }; 

Dado el plazo de 2 segundos en que opera este proceso, y que no hay devoluciones de llamada a una actividad, ¿es una forma aceptable de realizar detección de antecedentes o debo realmente hacer todo esto con un servicio? Parece un montón de gastos generales y no puedo ver ningún beneficio, ya que esto parece funcionar bien.

One Solution collect form web for “Comprobación sencilla de la configuración de aplicaciones de Android”

Su solución podría funcionar, pero no lo sé.

Es posible que pueda utilizar BroadcastReceiver . Si usa BroadcastReceiver, puede emitir una Intención cuando una actividad ejecuta onPause () junto con su código más / menos. El BroadcastReceiver podrá ejecutar su aplicación de nuevo …

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.