【问题标题】:FCM token Not GeneratingFCM 令牌未生成
【发布时间】:2021-08-22 05:14:00
【问题描述】:

我正在我的聊天应用程序中集成推送通知。所以在我的注册片段中,我正在为 FCM 令牌编写这段代码:

  FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
                                                            if (!task.isSuccessful) {
                                                                Log.w("TAG", "Fetching FCM registration token failed", task.exception)
                                                                return@OnCompleteListener
                                                            }

                                                            // Get new FCM registration token
                                                            userToken = task.result.toString()
                                                            Log.d("task", userToken)

                                                        })

在此之后,我将此令牌上传到 firebase 数据库,但我收到一条错误提示

lateinit property userToken has not been initialized  

我不知道为什么会出现这个错误,当我在它被访问之前初始化它时。 如果有人知道我错在哪里,请帮助我。

【问题讨论】:

标签: android firebase firebase-cloud-messaging push messaging


【解决方案1】:

试试这个

val user = FirebaseAuth.getInstance().currentUser
    var token: String? = null
    val lock = CountDownLatch(1)

user?.getIdToken(true)?.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        userToken = task.result?.token
        if (token == null) {
            lock.countDown()            //<--unlock 
            return@addOnCompleteListener
        }
        //save token
    } else {
        lock.countDown()                //<--unlock 
        return@addOnCompleteListener
    }
}
lock.await() 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2020-05-09
    相关资源
    最近更新 更多