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);
}
}
我正在开发一个 .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);
}
}