WelcomeActivity.kt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.trust.ywx
  2. import android.content.Intent
  3. import android.os.Bundle
  4. import android.os.Handler
  5. import android.os.Looper
  6. import android.os.Process
  7. import android.widget.Toast
  8. import androidx.appcompat.app.AppCompatActivity
  9. import com.trust.ywx.event.BundleUpdateEvent
  10. import com.trust.ywx.utils.AppManager
  11. import org.greenrobot.eventbus.EventBus
  12. import org.greenrobot.eventbus.Subscribe
  13. import org.greenrobot.eventbus.ThreadMode
  14. class WelcomeActivity : AppCompatActivity() {
  15. val handler = Handler(Looper.getMainLooper())
  16. val runnable = Runnable {
  17. if (MainApplication.isInit) {
  18. handler.removeCallbacks(runnableError)
  19. startActivity(Intent(this@WelcomeActivity, MainActivity::class.java))
  20. finish()
  21. }
  22. }
  23. val runnableError = Runnable {
  24. Toast.makeText(this, "初始化失败", Toast.LENGTH_SHORT).show()
  25. Process.killProcess(Process.myPid())
  26. }
  27. override fun onCreate(savedInstanceState: Bundle?) {
  28. super.onCreate(savedInstanceState)
  29. setContentView(R.layout.activity_main)
  30. AppManager.addActivity(this)
  31. handler.postDelayed(runnable, 3000)
  32. // 8秒没有完成初始化则显示初始化失败
  33. handler.postDelayed(runnableError, 8000)
  34. }
  35. @Subscribe(threadMode = ThreadMode.MAIN)
  36. fun onMessageEvent(event: BundleUpdateEvent) {
  37. handler.removeCallbacks(runnable)
  38. handler.removeCallbacks(runnableError)
  39. startActivity(Intent(this@WelcomeActivity, MainActivity::class.java))
  40. finish()
  41. }
  42. override fun onStart() {
  43. super.onStart()
  44. EventBus.getDefault().register(this);
  45. }
  46. override fun onStop() {
  47. super.onStop()
  48. EventBus.getDefault().unregister(this);
  49. }
  50. override fun onDestroy() {
  51. super.onDestroy()
  52. AppManager.removeActivity(this)
  53. }
  54. }