動的機能を備えたnewナビゲーションコンポーネントを実装しようとしています
したがって、構造は次のようになります。
dynamicFeatures = []
がgradleに含まれています)特徴
ライブラリ-> globalNav
それぞれの機能が完全に分離されているので、お互いに依存せずにこれらを接着する方法をうまく読んでいませんでした
egアプリ(app module)
はSplashActivity
で始まり、セッションの状態をチェックするので、私の質問はどのように開始すればよいかです。 login_graph
またはhome_graph
で、最初のケースでは、認証フローの終了後にホームを開始しますか?
私が現在それらを接着しようとしている方法は、globalNav
モジュール(Androidライブラリ)を使用することです。いくつかの回避策を見つけました。
Intent().setClassName(context.packageName, className).also { context.startActivity(it) }
ディープリンク(ナビゲーショングラフとして使用したかったものにはすでにそれらがあります)が、何らかの理由で、アプリだけがそれを実行する場合でも、常に「完全なアクションの選択」ピッカーが表示されます。
actions
を使用してみましたが、ディープリンクと同じ動作ですどんな提案も素晴らしいでしょう:)
PS:私が見たり読んだりしているいくつかの参考文献:
https://www.youtube.com/watch?v=ST2W1Y_Ztvk
https://jeroenmols.com/blog/2019/04/02/modularizationexample/
GitHub googlesamples
repository
PSS:良い解決策を見つけたら、これを積極的に理解しようとしています。必ず答えます。
現在サポートされていないため、これに興味のある人は、ここで問題にスターを付けることができます: https://issuetracker.google.com/issues/132170186
私も数分前に同じ問題に直面していました、そして私は答えを見つけようとしている間にあなたの質問を見ました。
私の場合、2つのモジュールappとloginがあります。モジュールloginは、モジュールappに依存する動的機能モジュールです。モジュールloginには、ロギングを目的としたすべてのロジックとナビゲーションが含まれています(ログイン、登録などが含まれています)。このLoginActivity(すべてのナビゲーションが含まれるログインモジュールのアクティビティ)をアプリモジュールのメインナビゲーショングラフに含めたいと思いました。それを知らないアプリレイヤーからLoginActivityを呼び出すことはできません。だが
<activity Android:id="@+id/loginActivity"
Android:name="login.LoginActivity"
Android:label="LoginActivity"/>
メインのナビゲーショングラフに手動で追加するとうまくいきました。