所以我试图在一个单独的进程中的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/