如何在 addSuccesListener 之前识别 firebase 动态链接?

심현용*_*심현용 5 android firebase firebase-dynamic-links

在我的应用程序中,许多链接在同一个活动中处理,

所以,我需要知道收到链接时是什么链接。

我知道成功后我会认出听众,

FirebaseDynamicLinks.getInstance()
                .getDynamicLink(intent)
                .addOnSuccessListener(activity, new OnSuccessListener<PendingDynamicLinkData>() {
                    @Override
                    public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                        if (pendingDynamicLinkData != null) {
                            Uri deepLink = pendingDynamicLinkData.getLink();
Run Code Online (Sandbox Code Playgroud)

但是,由于 UI 线程的下一个操作,我的应用程序的 UI 线程必须在成功侦听器之前知道。

所以,我这样处理意图,

if(intent.getExtras() != null
            && intent.getExtras().toString().contains("firebase")) { // this comes from firebase dynamic links.
Run Code Online (Sandbox Code Playgroud)

我可以以这种方式处理意图吗?并且,Firebase 框架会不会把额外的数据包括 firebase 字符串?

你能告诉我任何其他解决方案吗?最糟糕的方式,我希望在成功回调之前知道我的应用程序的主机“(app).goo.gl”..

Max*_*yer 5

您可以检查 Intent extras 是否包含特殊常量

getIntent().hasExtra("com.google.firebase.dynamiclinks.DYNAMIC_LINK_DATA")
Run Code Online (Sandbox Code Playgroud)