如何导航到位于不同模块中的活动

xst*_*mpx 6 android android-intent

我正在开发按功能划分为模块的应用程序。

应用程序结构如下所示:

  • 应用程序(应用程序)
    • 主要活动
    • 主要应用
  • 功能一(模块)
    • 第一活动
  • 功能二(模块)
    • 第二个活动

功能模块不能相互依赖,但我可以自由编辑它们。我的目标是从 FirstActivity 导航到 SecondActivity。

我不能使用startActivity(Intent(com.example.featureTwo.SecondActivity)),因为 SecondActivity 类对 FirstActivity(不同的独立模块)不可见。

问题是从 FirstActivity 导航到 SecondActivity 的正确方法是什么?

我正在考虑使用:

  • 广播 - 我将从 FristActivity 发送广播并在 featureTwos 清单中注册广播接收器。从broadcastReceiver 我将启动SecondActivity。
  • 深层链接 - 类似于广播接收器。
  • 在应用程序类中创建函数并在应用程序包中创建枚举包含我要启动的活动。每当我想,像这样发射活动我会调用该函数:launchActivityFromDifferentModule(EnumWithActivities.SecondActivity)

我应该使用哪种方法,不应该使用哪种方法,为什么?

小智 -2

在 build.gradle 文件中添加模块

android {
   ...
}

dependencies {
    ..

    implementation project(':featureOne')
    implementation project(':featureTwo')
}
Run Code Online (Sandbox Code Playgroud)

注意: 库/模块应该以独立的方式开发,并且应该按功能划分。

  • 我的应用程序 build.gradle 依赖于 featureOne 和 featureTwo,但这并不能解决问题。 (2认同)