From b875f04e7d0365501272ee5d77592fea6fff7780 Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Fri, 24 Oct 2025 14:52:34 +0000
Subject: [PATCH] 切后台修复

---
 libmvi/src/main/java/com/runt/open/mvi/OpenApplication.kt |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/libmvi/src/main/java/com/runt/open/mvi/OpenApplication.kt b/libmvi/src/main/java/com/runt/open/mvi/OpenApplication.kt
index a8632ab..abd56b3 100644
--- a/libmvi/src/main/java/com/runt/open/mvi/OpenApplication.kt
+++ b/libmvi/src/main/java/com/runt/open/mvi/OpenApplication.kt
@@ -13,7 +13,7 @@
 open class OpenApplication :Application(){
 
     val TAG = "MyApplication"
-    var activities : MutableList<Activity> = ArrayList()
+    var activities  = ArrayList<Activity>()
     private var currentActivity : Activity? = null //当前activity
 
     private var isInfront = false //是否前台运行
@@ -30,8 +30,8 @@
         application = this //CrashReport.initCrashReport(getApplicationContext(), "8d88679ae9", false);//注册bugly
         registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
             override fun onActivityCreated(activity : Activity , savedInstanceState : Bundle?) {
-                Log.d(TAG , "onActivityCreated " + activity.javaClass.simpleName)
-                if (! activities.contains(activity)) {
+                Log.d(TAG , "onActivityCreated " + activity.javaClass.simpleName + " ${activities.size}")
+                if (!activities.contains(activity)) {
                     activities.add(activity)
                 }
             }
@@ -44,7 +44,10 @@
             override fun onActivityResumed(activity : Activity) {
                 Log.d(TAG , "onActivityResumed " + activity.javaClass.simpleName)
                 currentActivity = activity
-                isInfront = true
+                if(activities.indexOf(activity) == activities.size - 1){
+                    isInfront = true
+                    Log.e(TAG , "onActivityResumed: 回到前台")
+                }
             }
 
             override fun onActivityPaused(activity : Activity) {
@@ -56,8 +59,11 @@
             }
 
             override fun onActivitySaveInstanceState(activity : Activity , bundle : Bundle) {
-                Log.d(TAG , "onActivitySaveInstanceState " + activity.javaClass.simpleName)
-                isInfront = false
+                Log.d(TAG , "onActivitySaveInstanceState " + activity.javaClass.simpleName + " index = ${activities.indexOf(activity)} , size = ${activities.size}")
+                if(activities.indexOf(activity) == activities.size - 1){
+                    isInfront = false
+                    Log.e(TAG , "onActivitySaveInstanceState: 进入后台")
+                }
             }
 
             override fun onActivityDestroyed(activity : Activity) {

--
Gitblit v1.9.1