【发布时间】:2019-08-18 08:00:26
【问题描述】:
简单问题:如何在 Android(Java 和 Kotlin)中内联检查 Firestore 是否已经启动?
我想知道的不必要的解释:
我使用 Firestore 进行了一些不同的活动。如果我在另一个活动中设置后尝试设置设置(例如PersistenceEnabled 或CacheSize),它将使应用程序崩溃并返回以下内容:
“错误:FirebaseFirestore 已启动,无法再更改其设置。您只能在调用 FirebaseFirestore 对象上的任何其他方法之前调用 setFirestoreSettings()。”
我知道我可以简单地在应用程序的第一个/主要/启动活动中设置设置。这将消除直接的问题,但不会在不遵循正常 UI 流程的特定用例中。
例如,打开 activityB 的深层链接,然后用户备份到 activityA(最初应用设置的位置),然后应用程序将崩溃,因为在 activityB 使用 Firestore 时应用了默认设置,而 activityA 尝试再次设置它们.
activityA 中的简单内联检查将允许我应用自定义设置而不会导致应用程序崩溃。 (是的,我可以将应用程序设计为始终通过 activityA 并根据意图加载正确的活动,但这会效率低下,并且会产生从深层链接打开的轻微时间/性能成本。)
【问题讨论】:
-
也许你可以保存一个偏好,该偏好会根据活动是否开始而改变
标签: java android firebase kotlin google-cloud-firestore