[英]How to check if FirebaseFirestore has already been started in Android?
一個簡單的問題:如何內聯檢查Firestore是否已在Android(Java和Kotlin)中啟動?
不必要的解釋為什么我想知道:
我使用Firestore有幾種不同的活動。 如果我嘗試在其他活動中進行設置后再設置(例如PersistenceEnabled
或CacheSize
),它將使應用程序崩潰並返回以下內容:
“錯誤:FirebaseFirestore已經啟動,並且其設置無法再更改。您只能在調用FirebaseFirestore對象上的任何其他方法之前調用setFirestoreSettings()。”
我了解我可以在應用程序的first / main / splash活動中簡單地設置設置。 這將消除緊迫的問題,但在不遵循常規UI流程的特定用例中不會解決。
例如,一個深層鏈接打開了活動B,然后用戶備份到活動A(最初應用設置),然后該應用將崩潰,因為當活動B使用Firestore並且活動A嘗試再次設置它們時,應用了默認設置。
一個簡單的inlineA活動內聯檢查將允許我應用自定義設置,而不會導致應用程序崩潰。 (是的,我可以將應用程序設計為始終執行ActivityA並根據意圖加載正確的活動,但是這樣做效率不高,並且會產生從深層鏈接打開的時間/性能開銷。)
您可以通過另一個單例或靜態方法強制所有對FirebaseFirestore單例的訪問,該方法僅在調用后一次執行初始化。 使用此方法的后續訪問將必須在內部檢查其是否已初始化,然后跳過init。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.