在为第二个FirebaseDatabase创建实例时出现FirebaseApp重新初始化错误

时间:2017-09-02 17:45:30

标签: java android firebase firebase-realtime-database

我使用了第二个firebase数据库如下: -

public class Volunteer extends AppCompatActivity {
FirebaseOptions options;
FirebaseApp secondApp;
FirebaseDatabase secondDatabase;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_volunteer);

    options = new FirebaseOptions.Builder().setApiKey("AIzaxxxxxxxxxxxxxfGvao3w").setApplicationId("1:xxxxxxxxxxxxxxxxxxxxxx").setDatabaseUrl("https://xxxxxx.firebaseio.com/").build();
    secondApp = FirebaseApp.initializeApp(getApplicationContext(), options, "second app");
    secondDatabase = FirebaseDatabase.getInstance(secondApp);
    String key = secondDatabase.getReference().push().getKey();      }
}

在这里,它运行正常,但是当这个页面被调用时,即当我再次启动startActivity时,onCreate()会被调用并抛出错误: -

  

错误:firebase第二个应用程序已经存在!

那么,如何在不引起错误的情况下再次运行该活动。我试图捕获异常,并检查应用程序是否已经初始化,但然后错误" secondDatabase"没有得到实例来: -

  

secondDatabase = FirebaseDatabase.getInstance(secondApp);

如何初始化" secondApp"只有一次或如何找到初始化的FirebaseApp的旧实例,以便第二次我可以将该实例用于" secondDatabase"?

1 个答案:

答案 0 :(得分:0)

首先检查第二个app的实例,然后仅在返回的实例为null

时进行初始化