Android - 在标准 java class 中使用 Activity 回调

Android - Use the Activity callback in a standard java class

我正在开发一个 .aar 库,我确实需要与 activity 的生命周期进行交互(因此 callback onCreate(),在 onResume(),等...) 在标准 java class 中。 我尝试了很多东西,但没有任何效果。 有什么办法可以做到吗?

据我了解,您需要这样的东西,

import android.app.Activity;
import android.app.Application;
import android.os.Bundle;

/**
 * @Krish
 */

public class LifeCycleObserver {

    private LifeCycleObserver() {}

    private static LifeCycleObserver sLifeCycleObserver;

    public static LifeCycleObserver getInstance()
    {
        if (sLifeCycleObserver == null)
        {
            sLifeCycleObserver = new LifeCycleObserver();
        }

        return sLifeCycleObserver;
    }


    public static void init(Application application)
    {
        application.registerActivityLifecycleCallbacks(sLifeCycleObserver.lifecycleCallbacks);
    }


    private Application.ActivityLifecycleCallbacks lifecycleCallbacks = new Application.ActivityLifecycleCallbacks() {

        @Override
        public void onActivityCreated(Activity activity, Bundle savedInstanceState) {

        }

        @Override
        public void onActivityStarted(Activity activity) {

        }

        @Override
        public void onActivityResumed(Activity activity) {

        }

        @Override
        public void onActivityPaused(Activity activity) {

        }

        @Override
        public void onActivityStopped(Activity activity) {

        }

        @Override
        public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

        }

        @Override
        public void onActivityDestroyed(Activity activity) {

        }
    };

}

并在应用程序中像这样使用它 class,

导入android.app.Application;

/**
 * Created by krish
 */

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        LifeCycleObserver.init(this);
    }
}