diff --git a/android/src/main/java/com/idlefish/flutterboost/FlutterBoost.java b/android/src/main/java/com/idlefish/flutterboost/FlutterBoost.java index bc914ac288b83e39a638850b38fee498eab8d0fa..3ebbe2fb475da148f9a4b14d4ee39bc565c68ce3 100644 --- a/android/src/main/java/com/idlefish/flutterboost/FlutterBoost.java +++ b/android/src/main/java/com/idlefish/flutterboost/FlutterBoost.java @@ -29,6 +29,7 @@ public class FlutterBoost { static FlutterBoost sInstance = null; private long FlutterPostFrameCallTime = 0; + private Application.ActivityLifecycleCallbacks mActivityLifecycleCallbacks; public long getFlutterPostFrameCallTime() { return FlutterPostFrameCallTime; @@ -51,7 +52,7 @@ public class FlutterBoost { mPlatform = platform; mManager = new FlutterViewContainerManager(); - platform.getApplication().registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() { + mActivityLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { @@ -123,7 +124,9 @@ public class FlutterBoost { mCurrentActiveActivity = null; } } - }); + }; + platform.getApplication().registerActivityLifecycleCallbacks(mActivityLifecycleCallbacks); + if (mPlatform.whenEngineStart() == ConfigBuilder.IMMEDIATELY) { @@ -160,6 +163,7 @@ public class FlutterBoost { } public void boostPluginRegistry(){ + mPlatform.getApplication().unregisterActivityLifecycleCallbacks(mActivityLifecycleCallbacks); if(mRegistry!=null&& !mRegistry.hasPlugin("boostPluginRegistry")){ mPlatform.registerPlugins(mRegistry); mRegistry.registrarFor("boostPluginRegistry");