繁体   English   中英

如何检查FirebaseFirestore是否已在Android中启动?

[英]How to check if FirebaseFirestore has already been started in Android?

一个简单的问题:如何内联检查Firestore是否已在Android(Java和Kotlin)中启动?

不必要的解释为什么我想知道:

我使用Firestore有几种不同的活动。 如果我尝试在其他活动中进行设置后再设置(例如PersistenceEnabledCacheSize ),它将使应用程序崩溃并返回以下内容:

“错误:FirebaseFirestore已经启动,并且其设置无法再更改。您只能在调用FirebaseFirestore对象上的任何其他方法之前调用setFirestoreSettings()。”

我了解我可以在应用程序的first / main / splash活动中简单地设置设置。 这将消除紧迫的问题,但在不遵循常规UI流程的特定用例中不会解决。

例如,一个深层链接打开了活动B,然后用户备份到活动A(最初应用设置),然后该应用将崩溃,因为当活动B使用Firestore并且活动A尝试再次设置它们时,应用了默认设置。

一个简单的inlineA活动内联检查将允许我应用自定义设置,而不会导致应用程序崩溃。 (是的,我可以将应用程序设计为始终执行ActivityA并根据意图加载正确的活动,但是这样做效率不高,并且会产生从深层链接打开的时间/性能开销。)

您可以通过另一个单例或静态方法强制所有对FirebaseFirestore单例的访问,该方法仅在调用后一次执行初始化。 使用此方法的后续访问将必须在内部检查其是否已初始化,然后跳过init。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM