如何检查 Firebase 应用程序是否已在 Android 上初始化

新手上路,请多包涵

对于以下内容,第一次调用它是有效的,但随后调用“FirebaseApp 名称 [DEFAULT] 已存在!”时失败。

 public FirebaseDatabase conn(Context c) {
         FirebaseOptions options = new FirebaseOptions.Builder()
                .setApiKey("key")
                .setDatabaseUrl("url")
                .setApplicationId("ID")
                .build();

        /////I tried Try and Catch with no success//////
        FirebaseApp app = FirebaseApp.initializeApp(c, options);

        /// for this : FirebaseApp app = FirebaseApp.initializeApp(c, options, "some_app");
        //// will fail with "FirebaseApp name some_app already exists!"
        return FirebaseDatabase.getInstance(app);
}

以上所有都是尝试连接到第二个 Firebase 应用程序。

原文由 Relm 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 913
2 个回答

在 firebase web 上,您检查是否已经初始化:

 if (firebase.apps.length === 0) {
    firebase.initializeApp({});
}

原文由 Daniel Laurindo 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 v9 中,Firebase 已经模块化以实现更好的 tree shaking。所以我们不能再导入整个应用程序并检查 apps 属性 AFAIK。可以改用以下方法。

 import { initializeApp, getApps, getApp } from "firebase/app";
getApps().length === 0 ? initializeApp(firebaseConfig) : getApp();

https://firebase.google.com/docs/reference/js/v9/app.md#getapps 文档

原文由 Nitin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题