“名为'[DEFAULT]'的Firebase App已经存在。”

时间:2016-08-25 09:19:22

标签: android service firebase

因此,我尝试在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

并且 IT工作非常好但是我不确定这是否正确的做法(这是困扰我的硬编码[DEFAULT] .. )。

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

1 个答案:

答案 0 :(得分:2)

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