2016-08-25 2 views
1

だから私は別々のプロセスであるAndroidのサービスでFirebaseを使用しようとしていたとしながら、このエラーが思い付いた:"'[DEFAULT]'という名前の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]をだ)、それを行うための正しい方法であるか分からないかなり良いしかし WORKS。

誰でもこれを行う適切な方法を知っていますか?

+0

あなたはアプリからのユーザーログインを使用して火災基地データベースにアクセスしますか?これは必須条件ですか? –

+0

いいえ、それは認証やデータベース自体ではなく、Androidサービスでその機能のいずれかを使用しようとするとFirebaseがスローするエラーです。 –

+0

私は確信していませんが、MainActivity.oncreateにApplication.oncreate内の同様の問題の移動コードを解決したことを覚えています。私のアプリは私の場合にはクラッシュしていた。 – mehmet6parmak

答えて

2

代わりにFirebaseApp.DEFAULT_APP_NAMEと比較することができます。 reference docsを参照してください。

関連する問題