- 将 AppManager 从根包移动到 utils 包 -移除了 NavigationManager 中的 Toast弹窗 - 更新了 BuzActivity、MainActivity、MainApplication 和 WelcomeActivity 中的 AppManager 引用 - 在 WelcomeActivity 中增加了初始化失败的错误处理逻辑
63 行
1.8 KiB
Kotlin
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)
|
|
}
|
|
}
|