首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数pendingDynamicLinkData指定为非null为null。

参数pendingDynamicLinkData指定为非null为null。
EN

Stack Overflow用户
提问于 2021-12-16 10:51:28
回答 2查看 400关注 0票数 6
代码语言:javascript
复制
private fun getReferralId() {
    Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener(this) { pendingDynamicLinkData ->
            pendingDynamicLinkData?.link?.getQueryParameter(
                DEEP_LINK_QUERY_PARAM_REFERRAL_ID
            )?.let { refId ->
                viewModel.saveReferralId(refId)
            }
        }
}

指定为非空的参数为空:方法kotlin.jvm.internal.Intrinsics.checkNotNullParameter,参数pendingDynamicLinkData at app.package.activity.MainActivity.getReferralId$lambda-2(Unknown Source:7) at app.package.activity.MainActivity.$r8$lambda$ANLS0uCuXrQe7RFQ5b0C-RFsBKE(Unknown Source:0) at app.package.activity.MainActivity$$ExternalSyntheticLambda3.onSuccess(Unknown Source:4)

版本:

代码语言:javascript
复制
implementation platform("com.google.firebase:firebase-bom:28.3.1")
implementation "com.google.firebase:firebase-dynamic-links-ktx"

这里怎么了?

更新

当我更新play-services-auth lib版本时,就会发生这种情况。

代码语言:javascript
复制
implementation "com.google.android.gms:play-services-auth:19.2.0"
implementation "com.google.android.gms:play-services-auth-api-phone:17.5.1"

最新版本

代码语言:javascript
复制
implementation "com.google.android.gms:play-services-auth:20.0.0"
implementation "com.google.android.gms:play-services-auth-api-phone:18.0.0"

这又有什么关系?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-17 17:18:28

由于play服务更新,这是一个库中的bug。要修复它,您应该显式声明pendingDynamicLinkData是可空的。

如下所示:

代码语言:javascript
复制
private fun getReferralId() {
    Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener(this) { pendingDynamicLinkData: PendingDynamicLinkData? ->
            pendingDynamicLinkData?.link?.getQueryParameter(
                DEEP_LINK_QUERY_PARAM_REFERRAL_ID
            )?.let { refId ->
                viewModel.saveReferralId(refId)
            }
        }
 }
票数 7
EN

Stack Overflow用户

发布于 2022-01-03 11:53:51

补充@brwngrldev的答案。

更新

这个问题在最近版本的play服务库(2022年)中得到了解决。

检查项目中有哪些依赖项,并将其更新为“在maven.google.com上发布的工件”中列出的版本。

例如,在问题的情况下,需要更新下列依赖关系:

代码语言:javascript
复制
implementation "com.google.android.gms:play-services-auth:20.0.1"
implementation "com.google.android.gms:play-services-auth-api-phone:18.0.1"

旧答案

这个错误是在play-services-base版本(2021年)中修复的。

如果您不希望显式地将字段设置为可空,则可以通过将这两行添加到应用程序的build.gradle中来更新play服务库。

代码语言:javascript
复制
implementation 'com.google.android.gms:play-services-base:18.0.1'
implementation 'com.google.android.gms:play-services-tasks:18.0.1'

学分:https://github.com/firebase/firebase-android-sdk/issues/2992#issuecomment-1001847825

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70377724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档