具有即时/(动态)功能模块的导航组件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (16)

我正在尝试使用动态功能实现新的导航组件

所以结构看起来像这样:

  • app(动态dynamicFeatures = []包含在gradle中)
  • 特征
    • 登录
    • 等等

  • library - > globalNav

我一直在阅读很多但没有成功如何将这些粘合在一起而不依赖于彼此,因为每个功能都是完全隔离的

例如应用程序(app module)SplashActivity并启动并检查会话状态,所以我的问题是我应该如何启动login_graph或者home_graph在第一种情况下,在完成身份验证流程后启动主页?

我正在尝试粘合的方式是使用globalNav模块(android-library)我找到了几个解决方法:

  • 完整的类路径,这意味着我使用className启动了intent(因为这不是真正的可扩展性并且维护了PITA)
Intent().setClassName(context.packageName, className).also { context.startActivity(it) }
  • Deeplinks(我想用作导航图的那个已经有了那些),但由于某种原因,它总是显示“选择完整动作”选择器,即使只有我的应用程序接受它。
    • 我已经尝试过使用actions与深层链接相同的行为

任何建议都会很棒:)

PS:我一直在查看/阅读的一些参考文献:

PSS:我正在积极尝试解决这个问题,如果我找到一个好的解决方案,我也一定要回答。

提问于
用户回答回答于

几分钟前我也遇到了同样的问题,我在试图找到答案时看到了你的问题。

在我的情况下,我有2个模块应用程序登录。模块登录是动态功能模块,它依赖于模块应用程序。模块登录包含用于记录目的的所有逻辑和导航(它包含登录,寄存器等)。我想在app模块的主导航图中包含这个LoginActivity(登录模块中的一个活动,其中包含所有导航)。我们不能从它不知道的app层调用LoginActivity。但

<activity android:id="@+id/loginActivity"
    android:name="login.LoginActivity"
    android:label="LoginActivity"/>

在主导航图中手动添加它对我有用。

扫码关注云+社区

领取腾讯云代金券