¿Hacer que un objeto escuche los eventos del ciclo de vida de la actividad?

Una de las clases que he escrito necesita reaccionar cuando se producen los siguientes eventos de actividad:

  • OnStart ()
  • OnPause ()
  • En resumen()
  • OnStop ()

Puedo reaccionar a los de la Actividad misma:

Public class La actividad se extiende ApplicationContext {protected void onCreate (Bundle savedInstanceState);

protected void onStart(); protected void onRestart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); 

}

De la actividad podría decirle al objeto en cuestión que ha ocurrido un cierto evento, pero no me gusta esta idea: requiere que el desarrollador implemente la lógica fuera de mi objeto / clase. Lo ideal sería que el objeto se encargara de registrar estos eventos y se fijara como un oyente, independientemente de la Actividad.

¿Algunas ideas? Gracias por adelantado.

El API de nivel 14 tiene Application.ActivityLifecycleCallbacks.
Antes de eso, afaik, lo siento, no.
Si desea ofrecer su clase a otros, necesitará proporcionar clases abstractas que amplíen las actividades más comunes, o hacer que ciertas llamadas se realicen en los métodos de ciclo de vida de su propia actividad, como

  Protected void onPause () {
   Super.onPause ();
   YourClassInstance.onPause ();
 } 

Puede también hacerlo más general, y crear clases abstractas de NotifyingActivity que acepten NotifyingActivity.LifecycleListener, y hacer que su clase implemente tal oyente y se registre en su constructor.

Puede utilizar esta biblioteca que hace exactamente lo que está intentando hacer, sin tener que escribir código en su actividad o en su actividad base.

Y es muy simple de usar:

 ActivityListener.bind(mActivity).with(mCallback); 

Tal vez ayude a alguien

  • ¿Comenzar demasiadas actividades?
  • ¿Por qué algunas veces la aplicación se reinicia en killProcess?
  • ¿Puede Android matar una actividad sin matar la aplicación?
  • Ciclo de vida de la actividad de Android después de presionar el botón Atrás
  • ¿Qué acciones realiza la tecla de retroceso / retroceso en el disparador de Android?
  • Android - onStop () se llamará con un retardo
  • Los extras de intenciones de recreación de actividad son nulos
  • Android: haga clic en evento después de Activity.onPause ()
  • ¿Por qué implementar onDestroy () si no se garantiza que se llamará?
  • Eliminación de una actividad de la pila de historial
  • OnStop () no se llama?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.