RnMultibundler/android/app/src/main/java/com/trust/ywx/WelcomeActivity.kt
xuqm 477025c1b1 refactor(app): 重构 AppManager 并优化应用初始化逻辑
- 将 AppManager 从根包移动到 utils 包
-移除了 NavigationManager 中的 Toast弹窗
- 更新了 BuzActivity、MainActivity、MainApplication 和 WelcomeActivity 中的 AppManager 引用
- 在 WelcomeActivity 中增加了初始化失败的错误处理逻辑
2025-07-18 16:44:51 +08:00

63 行
1.8 KiB
Kotlin

package com.trust.ywx
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.os.Process
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.trust.ywx.event.BundleUpdateEvent
import com.trust.ywx.utils.AppManager
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
class WelcomeActivity : AppCompatActivity() {
val handler = Handler(Looper.getMainLooper())
val runnable = Runnable {
if (MainApplication.isInit) {
handler.removeCallbacks(runnableError)
startActivity(Intent(this@WelcomeActivity, MainActivity::class.java))
finish()
}
}
val runnableError = Runnable {
Toast.makeText(this, "初始化失败", Toast.LENGTH_SHORT).show()
Process.killProcess(Process.myPid())
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
AppManager.addActivity(this)
handler.postDelayed(runnable, 3000)
// 8秒没有完成初始化则显示初始化失败
handler.postDelayed(runnableError, 8000)
}
@Subscribe(threadMode = ThreadMode.MAIN)
fun onMessageEvent(event: BundleUpdateEvent) {
handler.removeCallbacks(runnable)
handler.removeCallbacks(runnableError)
startActivity(Intent(this@WelcomeActivity, MainActivity::class.java))
finish()
}
override fun onStart() {
super.onStart()
EventBus.getDefault().register(this);
}
override fun onStop() {
super.onStop()
EventBus.getDefault().unregister(this);
}
override fun onDestroy() {
super.onDestroy()
AppManager.removeActivity(this)
}
}