From 7060b99dd9387553a718cb9f130c8e8aee32e3da Mon Sep 17 00:00:00 2001 From: fengge <844143714@qq.com> Date: Mon, 1 Jun 2026 18:11:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=93=E9=AA=8C=E4=BC=98=E5=8C=96:=20?= =?UTF-8?q?=E6=8B=86=E9=99=A4Splash=E5=B1=8F2=E7=A7=92=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E7=A1=AC=E7=AD=89=E5=BE=85=EF=BC=8C=E6=94=B9=E4=B8=BA=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=E6=A3=80=E6=9F=A5=E5=B0=B1=E7=BB=AA=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/stand/standapp/SplashActivity.kt | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/stand/standapp/SplashActivity.kt b/app/src/main/java/com/stand/standapp/SplashActivity.kt index c63b1c4..ede5a3f 100644 --- a/app/src/main/java/com/stand/standapp/SplashActivity.kt +++ b/app/src/main/java/com/stand/standapp/SplashActivity.kt @@ -7,14 +7,37 @@ import android.os.Looper import androidx.appcompat.app.AppCompatActivity class SplashActivity : AppCompatActivity() { + private val handler = Handler(Looper.getMainLooper()) + private var checkCount = 0 + private val maxChecks = 20 // 最多检查20次(2秒) + + private val checkInitRunnable = object : Runnable { + override fun run() { + if (MyApplication.pNative != null || checkCount >= maxChecks) { + navigateToLogin() + } else { + checkCount++ + handler.postDelayed(this, 100) + } + } + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash) - // 延迟 2 秒进入登录界面 - Handler(Looper.getMainLooper()).postDelayed({ - startActivity(Intent(this, LoginActivity::class.java)) - finish() - }, 2000) + // 异步检查PTT JNI初始化状态,避免硬等待2秒 + handler.post(checkInitRunnable) + } + + private fun navigateToLogin() { + if (isFinishing || isDestroyed) return + startActivity(Intent(this, LoginActivity::class.java)) + finish() + } + + override fun onDestroy() { + handler.removeCallbacks(checkInitRunnable) + super.onDestroy() } }