LOGCAT.IO | 不使用[A]Router进行组件化之间的Activity跳转

我最开始使用的方法

val intent = Intent()
intent.setClassName(this, “com.exemple.SecoundActivity”)
startActivity(intent)

可能出现的问题

如果你的代码文件发生了变化,那么你的代码会爆炸。如果你更改了包名后,直接大爆炸。

我们需要用到:https://github.com/gaelmarhic/Quadrant ,Quadrant可以扫描解析所有的报名并帮你生成常量类以便使用。

官方readme中的示例

object QuadrantConstants {
  
  const val MAIN_ACTIVITY: String = "com.gaelmarhic.quadrant.MainActivity"

  const val SECONDARY_ACTIVITY: String = "com.gaelmarhic.quadrant.SecondaryActivity"

  const val TERTIARY_ACTIVITY: String = "com.gaelmarhic.quadrant.TertiaryActivity"
}

当你引用时:

val intent = Intent()
intent.setClassName(context, QuadrantConstants.MAIN_ACTIVITY)
startActivity(intent)