diff --git a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt index 6af3e4f4e4..6f883f5e31 100644 --- a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt +++ b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt @@ -15,13 +15,13 @@ import com.gh.gamecenter.SplashScreenActivity import com.gh.gamecenter.authorization.AuthorizationActivity import com.gh.gamecenter.common.base.GlobalActivityManager import com.gh.gamecenter.common.utils.PackageFlavorHelper -import com.gh.gamecenter.core.utils.CurrentActivityHolder.getCurrentActivity import com.gh.vspace.VHelper import com.halo.assistant.HaloApp // TODO:移动到对应的模块 class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { - private var mIsFromBackgroundToForeground = false // 是否后台回到前台 + private var isFromBackgroundToForeground = false // 是否后台回到前台 + private var activityCount = 0 override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) { // do nothing @@ -29,8 +29,8 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { override fun onActivityStarted(activity: Activity) { GlobalActivityManager.currentActivity = activity - - if (mIsFromBackgroundToForeground) { + activityCount ++ + if (activityCount == 1 && isFromBackgroundToForeground) { if (AdDelegateHelper.shouldShowStartUpAd(true) && !HaloApp.getInstance().isSkippingThirdParty && activity !is SplashScreenActivity @@ -40,7 +40,7 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { ) { activity.startActivity(SplashAdActivity.getIntent(activity)) } - mIsFromBackgroundToForeground = false + isFromBackgroundToForeground = false } } @@ -91,7 +91,8 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { } override fun onActivityStopped(activity: Activity) { - mIsFromBackgroundToForeground = getCurrentActivity() == null + activityCount -- + isFromBackgroundToForeground = activityCount <= 0 } override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {