問題タブ [android-deep-link]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
209 参照

android - android deeplink/applink の 2 つの異なるインテント フィルタを管理するには?

applink/deeplink 用のインテント フィルタが既にあります。サンプルコード:

このインテント フィルターは、パスまたは pathPattern がないため、Web ブラウザーからアプリへのリンク リダイレクトを行いません。私たちの行動はそのようなものです。しかし、新しい saml サインインの使用例では、(アプリの webview ではなく) Web ブラウザーで saml サインイン ページを開き、サインインしたらアプリにリダイレクトする必要があります。そのため、今は pathPattern を使用したいと考えています。今、問題が始まります。スキームとホストは同じです。したがって、同じスキームで同じアクティビティの下に新しいインテント フィルターを作成し、pathPattern ブラウザーを使用してホストすると、すべての URL がアプリにリダイレクトされますが、これはまったく望ましくありません。サンプルコード:

新しいアクティビティを試し、そこで 2 番目のインテント フィルタを使用しましたが、それでも同じ問題が発生します。/ap/signin URL だけではなく、すべての URL がブラウザーからアプリへのリダイレクトを開始します。

2 番目のインテント フィルターのみを使用し、1 番目のインテント フィルターを削除すると、/ap/signin URL はブラウザーからアプリにリダイレクトされるだけですが、他のすべてのディープリンク/アプリリンク URL は機能しなくなります。これはなんとなくわかっています。

誰かがこれの適切な解決策を持っていますか? 既存のフローを壊さずに、どうすれば新しい pathPattern を導入できますか?

0 投票する
1 に答える
418 参照

android - グラフ間の Android Advanced Navigation ディープリンク

しばらくの間、Android Advanced Navigationを使用しています。現在のプロジェクトには、3 つのナビゲーション グラフがあります。問題は、あるグラフの一部のフラグメントが別のグラフから到達する必要があることです。これを解決するために、ディープ リンクを作成しました。

たとえば、グラフ A にグラフ B を含め、グラフ B からのディープ リンクを使用してその特定のフラグメントに到達しました。問題は、私がグラフ B にいて、グラフに戻りたいときです。AI はできません。グラフ A はグラフ B に含まれていないため、現在のナビゲーション コントローラーは目的地を見つけることができません。グラフ A をグラフ B に含めると、別の問題が発生します。循環インポートの問題があるため、Android Studio はプロジェクトをビルドできません (グラフ B はグラフ A をインポートしようとしますが、グラフ B は既にグラフ A に含まれています)。他に何をすべきか本当にわかりません。

3 つのサブグラフすべてを含む 1 つの巨大なナビゲーション グラフを作成しようとしましたが、この Android Advanced Navigation では機能しませんでした。より効率的な方法はありますか?

編集してコードを追加します。

BottomNavigationView 拡張機能:

ナビゲーション グラフ:

下部ナビゲーションの初期化:

0 投票する
0 に答える
317 参照

android - Android ナビゲーションの動的機能モジュールのディープリンクが機能しない

単一のアクティビティ構造と動的機能モジュール アプローチを備えたジェットパック ナビゲーション コンポーネントを使用して、アプリケーション モジュールを分離しています。今のところモジュールをオンデマンドにしたくないので、それらはすべてインストール ベース アプリ モジュールにインストールされます。私のアプリ モジュール ナビゲーション XML には、各動的モジュールを参照する 4 つの include-dynamic パーツがあります。

モジュールの一部には接続があります。たとえば、ツール モジュールには、他のモジュールの他のフラグメントを読み取って移動する QR コード機能がありますNavManager

問題は、最初のモジュールからディープリンクを呼び出す前に 2 番目のモジュールに入らなかった場合、ディープリンクが見つからないというアプリケーションのクラッシュが発生することですが、2 番目のモジュールに入ってから最初のモジュールからディープリンクを呼び出すと、問題なく正常に動作します。したがって、ナビゲーションが動的モジュールのディープリンクを理解できるようにするために、何かをトリガーする必要があると思います。

次のリンク(制限セクション)の最後で、動的モジュールでディープリンクがサポートされていないことをグーグルが言及していることを私は知っています。

ナビゲーションの動的制限

そのため、他のモジュールからのディープリンクを呼び出す前にターゲットモジュールが開いていたときに機能し、以前に開かれていないと機能しないことがわかりました。