getDynamicLink(intent) 函数未完成

问题描述 投票:0回答:0

我目前正在开发一个使用 Firebase 的 kotlin 项目。在这里(除其他事项外)我让用户创建在 firestore 上使用 uid 注册的活动,并让创建者向其他人发送动态链接以加入他们。 单击后,链接应重定向到特定活动,并允许加入者进行一些(不相关的)操作,然后在 campagn 成员列表中注册新成员的 ID(存储在 firestore 上的上述活动文件中)。

我遇到的问题是 getDynamicLink(intent) 函数似乎没有返回任何东西。永远不会输入 onSuccessListener 和 onFailureListener,如果我尝试打印出任务,它会说该任务未完成。我似乎无法放置一个 onCompletion 监听器。

我检查了 Firebase 文档,但它只是说调用该函数并按预期工作了一点,正确注册了成员,但在调整其他函数后它停止工作,我似乎无法理解为什么。 意图过滤器正常工作,因为打开了正确的活动,但从未输入函数的侦听器。

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_join_campaign)
        
        Log.e("debug", "out of function") //this is shown

        //intercettazione del link con intent
        Firebase.dynamicLinks.getDynamicLink(intent)
            .addOnSuccessListener(this) { pendingDynamicLinkData : PendingDynamicLinkData? ->
                Log.e("debug", "in function") //this is never shown

                // Get the deep link from the Dynamic Link data
                var deepLink : Uri? = null
                if (pendingDynamicLinkData?.link == null){
                    return@addOnSuccessListener
                }
                deepLink = pendingDynamicLinkData.link
                Log.w(ContentValues.TAG, "link $deepLink") //this is never shown
                
                //other code 
            }
            .addOnFailureListener(this) { e ->
                Log.w(ContentValues.TAG, "error handling link")
            }
}

(第一次发帖,所以如果我需要展示其他内容或犯了一些错误,请告诉我,谢谢)

如前所述,我希望它至少显示“功能中”日志,但它从未显示过。此外,如果我尝试在调用函数之前通过记录它来打印意图,它会正确打印(我认为):

Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat=https://gestorednd1.page.link/joinjoinjoin99 flg=0x13000000 cmp=com.example.gestorednd/.Activities.JoinCampaignActivity }

我已经三次检查了我的文件和清单中的意图过滤器(我认为这不是问题,因为显示了正确的活动)。

android firebase kotlin deep-linking firebase-dynamic-links
© www.soinside.com 2019 - 2024. All rights reserved.