Androidアプリの再起動時にfirebaseダイナミックリンクが再起動するという問題があります。次のシーケンスで問題が発生します。
- ディープリンク URL をクリックします
- ディープリンクが指すビューでアプリが開かれます (予想どおり)
- アプリを(完全に)閉じます
- アイコンからアプリを開く
- ディープリンクが指すビューでアプリが開かれます(そうすべきではありませんが)
- その後は正常に動作します
最新 (9.0.2) のライブラリを使用しています。コードは例とほとんど同じです (例: https://firebase.google.com/docs/dynamic-links/android#add-an-intent-filter-for-deep-links )、autoLaunchDeepLink は false です。
これを引き起こすバグがあることに気付きましたが、現在のリリースで修正する必要があります: https://github.com/googlesamples/google-services/issues/141
github エラー レポートで指示されているように、AppInvite.AppInviteApi.getInvitation を 2 回呼び出して回避策を試しました。失敗。
onCreate では、savedInstance が null であることを確認し、そうである場合にのみディープ リンクを確認しています。
アプリの実行中に処理するために、onNewIntent でもディープ リンクをチェックしていますが、これは問題が発生したときに呼び出されません。
私のマニフェストでは、特定のプロトコルとホストを含むインテント フィルターはメイン アクティビティにのみ含まれています。プロトコルは他のアクティビティの他のフィルターでも使用されていますが、効果がないものでは別のプロトコルも使用してみました。メイン アクティビティのみが AppInvite.AppInviteApi.getInvitation を使用してインテントを取得します。すべてのアクティビティから他のインテント フィルターを削除しても、問題が発生します。
何が間違っているのか、何を確認する必要があるのでしょうか?