【问题标题】:The proper way to signOut using Firebase in MVVM android在 MVVM android 中使用 Firebase 注销的正确方法
【发布时间】:2020-10-28 03:02:18
【问题描述】:

我在项目中使用了 firebase 和 firestore。我还使用带有导航组件的单一活动架构。当我注销时,我的 SharedViewModel 中仍然有一些活动的侦听器。我的片段正在调用这样的注销方法:

FirebaseAuth.getInstance().signOut()
navController.navigateToLoginActivity()

这样做是首先从 firebase 注销,然后开始我的登录活动并销毁我当前的活动。所有的 firebase 监听器都在 viewModel.onCleared() 中被处理/取消,但是这发生在注销之后,所以我得到了一些错误。这是应该如何工作还是我错过了什么?

【问题讨论】:

  • 好问题,Piotr ;)

标签: android firebase mvvm firebase-authentication android-architecture-navigation


【解决方案1】:

如果您注销用户,您在需要身份验证的查询上打开的任何侦听器都将立即被切断。这是完全可以预料的。如果您不喜欢看到这些错误,我建议您在退出之前先编写代码来删除所有这些侦听器。虽然不是必需的,但它会在您的代码中明确说明预期会发生什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 2015-12-15
    • 2011-03-31
    • 2018-01-14
    • 2014-09-24
    • 2013-09-27
    • 2015-08-01
    相关资源
    最近更新 更多