2016-12-10 9 views
-4

私はfirebaseデータベースに格納しているニュースアップデートを得ることができるAndroidでこのアプリを開発しています。今私のデータベースが更新されると通知が必要です。このため、サービスのhandleMessageセクションでFirebase addValueEventListenerを実行できるようにサービスを使用しようとしていますが、firebaseコードに遭遇するたびにアプリケーションがクラッシュします。なぜこのようなことが起こるのか誰にも分かりますが、どうすれば修正できますか?AndroidベースのサービスでFirebaseコードを使用するには?

ここに私のコードだ....

private final class ServiceHandler extends Handler { 
    public ServiceHandler(Looper looper) { 
     super(looper); 
    } 
    @Override 
    public void handleMessage(Message msg) { 
    try { 
      Firebase ref = new Firebase(firebase_url); 
      final Firebase ref_2013 = new Firebase(firebase_url + "Btech 2013" + "/posts"); 
      final Firebase ref_2014 = new Firebase(firebase_url + "Btech 2014" + "/posts"); 
      final Firebase ref_2015 = new Firebase(firebase_url + "Btech 2015" + "/posts"); 
      final Firebase ref_2016 = new Firebase(firebase_url + "Btech 2016" + "/posts"); 
    }catch (Exception e){ 
      Toast.makeText(NotificationService.this,"firebase and noti thrown",Toast.LENGTH_SHORT).show(); 
     } 
} 

私は乾杯を生成するように、いくつかの通常の作業を行いますが、私はfirebaseコードを使用すると、それは私が私ことが判明

+0

をクラッシュさせる可能性があることができます例外を共有する –

+0

クラッシュは何ですか?あなたのログにあなたの答えを加えてください。 –

+0

例外を共有するように頼んでくれてありがとう。 Firebase.setAndroidContext()を使用していないことがわかりました。 サービスクラス以外では(サービスを使用しないと)どこでも問題なく動作していましたので、以前はわかりませんでした – Nilay

答えて

0

をクラッシュした場合私のサービスが正常に動作しますFirebase.setAndroidContext()を使用していませんでした。それは、サービスクラス以外ではsetAndroidContext()を使わずにどこでもうまくいきました。

だから我々はFirebaseへの参照を使用する前に、(サービスクラスに対して)のonCreate()またはonhandleMessage(中Firebase.setAndroidContextを())を使用する必要があり、それ以外の場合は、サービスの中で、ここのようないくつかの場所で

関連する問題