所以我试图在一个单独的进程中的Android服务中使用Firebase,并且在执行此错误时出现:

FirebaseDatabase.getInstance()....
or
FirebaseAuth.getInstance()....


我写了这个检查代码片段来解决这个问题:

boolean hasBeenInitialized=false;
List<FirebaseApp> firebaseApps = FirebaseApp.getApps(this);
for(FirebaseApp app : firebaseApps){
    if(app.getName().equals("[DEFAULT]")){
        hasBeenInitialized=true;
    }
}

if(!hasBeenInitialized) {
    FirebaseApp.initializeApp(this, FirebaseOptions.fromResource(this));
}

// Only then getInstance() will work


而且它的效果很好,但我不确定这是正确的方法(这是使我烦恼的硬编码[DEFAULT])。

有人知道这样做的正确方法吗?

最佳答案

您可以改为与FirebaseApp.DEFAULT_APP_NAME进行比较。请参见reference docs

关于android - “名为'[DEFAULT]'的Firebase应用已存在。”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39141300/

10-11 17:16