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