簡體   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