Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
End Sub
Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
    Me.As(JavaObject).RunMethod("registerActivityLifecycle", Null)
End Sub
Private Sub Activity_Lifecycle(State As String, oActivity As Object)
    Log(State & ", " & GetType(oActivity))
End Sub
  
#If Java  
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
public void registerActivityLifecycle() {
     BA.applicationContext.registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
        @Override
        public void onActivityCreated( Activity activity,  Bundle bundle) {
            getBA().raiseEvent(this, "activity_lifecycle", "onActivityCreated", activity);
        }
        @Override
        public void onActivityStarted( Activity activity) {
            getBA().raiseEvent(this, "activity_lifecycle", "onActivityStarted", activity);
        }
        @Override
        public void onActivityResumed( Activity activity) {
            getBA().raiseEvent(this, "activity_lifecycle", "onActivityResumed", activity);
        }
        @Override
        public void onActivityPaused( Activity activity) {
            getBA().raiseEvent(this, "activity_lifecycle", "onActivityPaused", activity);
        }
        @Override
        public void onActivityStopped( Activity activity) {}
        @Override
        public void onActivitySaveInstanceState( Activity activity,  Bundle outState) {}
        @Override
        public void onActivityDestroyed( Activity activity) {
            getBA().raiseEvent(this, "activity_lifecycle", "onActivityDestroyed", activity);
        }
    });
}
#End If