¿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:
- OnActivityResult no se llama después de matar el proceso
- ¿Por qué se arroja NPE al finalizar Actividad?
- Guardar interfaz (Listener) en onSaveInstanceState
- El diseño de la actividad parpadea después de terminar () se llama
- Cómo terminar la actividad destruida
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.
- ActivityLifecycleCallbacks no se activan cuando se cancela la actividad a través de "No mantener actividades"
- Aplicación para Android, estado de actividad (en ejecución, no en ejecución, en primer plano / fondo)
- Cómo borrar la pila de actividad de seguimiento en evento de prensa de nuevo?
- GetRunningAppProcesses () devuelve los procesos que fueron destruidos
- ¿Cuándo obtiene View es límites?
- Finish () y el ciclo de vida de la actividad
- Al cerrar la sesión, desactive la pila del historial de actividades, evitando que el botón "volver" abra las actividades activadas
- ¿Cuándo se usa realmente savedInstanceState?
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
- MPAndroidChart LineChart personalizado resaltar dibujable
- Android – Eliminación del botón de inicio y de navegación