当前位置: 首页 > 知识库问答 >
问题:

Firebase kotlin在重新加载用户并检查isEmailVerated时出错

陶柏
2023-03-14

嗨,我正在尝试在活动重新加载后重新加载用户,以便在用户另一次显示它并验证电子邮件后它会跟随到另一个活动,但我遇到了错误,例如“错误:(41,29)智能转换为“Firebase用户”是不可能的,因为“用户”是一个被更改闭包捕获的局部变量“有人能告诉我如何修复它吗?

override fun onResume() {
    super.onResume()
    var  user: FirebaseUser? = null
   FirebaseAuth.getInstance().currentUser?.reload()?.addOnSuccessListener {
        void ->
             user =FirebaseAuth.getInstance().currentUser
    }
    if(user != null && user.isEmailVerified ){
        Toast.makeText(this,"Inside of if",Toast.LENGTH_SHORT).show()
        finish()
        startActivity(Intent(this, MainActivity::class.java))
    }
}

共有1个答案

申高卓
2023-03-14

您应该将用户求值移到回调内部,否则它不会等待回调返回求值。这样地:

   override fun onResume() {
        super.onResume()

        FirebaseAuth.getInstance().currentUser?.reload()?.addOnSuccessListener {
            void ->
            var user = FirebaseAuth.getInstance().currentUser

            if(user != null && user.isEmailVerified ){
                Toast.makeText(this,"Inside of if",Toast.LENGTH_SHORT).show()
                finish()
                startActivity(Intent(this, MainActivity::class.java))
            }
        }

    }
 类似资料:
  • 我试图用TheNewBoston的教程制作一个蛇游戏,因为我是一名中学生,在Python方面没有太多经验。代码是: 但是,当我执行、播放、丢失并按C重试时,会出现此错误。当我想退出时,Q可以正常工作,但C只是退出,并打印此错误: C:\Python34\python。exe“C:/Users/Ded/PycharmProjects/PyGame/PyGame Tutorial.py”回溯(上次调用

  • Sagemaker是培训您的模型的绝佳工具,我们通过使用AWS spot实例节省了一些资金。然而,培训工作有时会在中间停止。我们正在使用一些机制在重新启动后从最新的检查点继续。另请参见文档。 不过,您如何有效地测试这种机制?你能自己触发吗?否则,您必须等待spot实例实际重新启动。 另外,您是否需要为此使用链接的参数或?例如,估计器文档似乎为检查点建议了一些。

  • 问题内容: 我需要为应用程序的某些部分向现有应用程序添加插件功能。我希望能够在运行时添加jar,并且应用程序应该能够从jar中加载类,而无需重新启动应用程序。到目前为止,一切都很好。我使用URLClassLoader在线找到了一些示例,并且运行良好。 我还希望能够在罐子的更新版本可用时重新加载相同的类。我再次发现了一些示例,据我所知,实现此目标的关键是我需要为每个新负载使用一个新的类加载器实例。

  • 问题内容: 当用户访问未经授权的个人页面(例如个人资料)时,我的后端302重定向到控制器操作,该操作代替部分个人资料来提供登录部分。由于它302重定向到返回部分操作的动作,因此URL地址栏与用户尝试访问的页面(“ / profile”)没有变化。 我本来打算“修复”该问题,但实际上我认为它可以提供良好的用户体验,而不是将返回网址作为查询参数来处理。 想法是一旦他们登录,我只想重新加载当前路由,也可

  • 问题内容: 我喜欢为yocto项目的内置用户做一些事情: 1.)将root用户的密码设置为“ abc” 2.)将ssh登录表单/ bin / sh的根shell设置为/ bin / bash 3.)使用密码“ xyz”添加用户“ customUser” 认为简单的食谱可以做到这一点。到目前为止,我尝试了@ myUser.bb: 任何想法如何做到这一点? 问题答案: 我以您的示例为例,进行了两个小更

  • 我想更改页面加载时的“选择组件”值。我读了相关的帖子,那里提出的每一个解决方案都适用于点击按钮。然而,我想要的是在页面加载后设置值,而不需要任何用户操作。我拥有的是: 以及: 我有相同的代码附加到按钮上,并且它可以工作。它只是不适用于准备()函数。所以我的问题是:如何在页面加载后设置选择值? 完整html