如何在android后台服务中监听firebase事件?

时间:2017-03-06 07:48:53

标签: android firebase firebase-realtime-database

试图在后台服务中侦听firebase事件。请在下面找到代码段,

 @Override
 public int onStartCommand(Intent intent, int flags, int startId) {

   ValueEventListener postListener = new ValueEventListener() {
     @Override
     public void onDataChange(DataSnapshot dataSnapshot) {           
       Post post = dataSnapshot.getValue(Post.class);        
     }

     @Override
     public void onCancelled(DatabaseError databaseError) {        
     }
   };
   mPostReference.addValueEventListener(postListener);

   return START_STICKY;
 }

onDataChange()方法正在进行,直到我的Activity处于活动状态,一旦退出Activity,该方法就不会被调用。

任何人都请帮忙。

1 个答案:

答案 0 :(得分:0)

在您的清单中,请确保android:stopWithTask未设置为true。将其设置为false,或将其完全保留,因为它默认为false。这样,服务将与Activity的生命周期无关。你的清单应该是这样的:

 <service
    android:name=".your_package_here.your_service_class_here"
    android:enabled="true"
    android:stopWithTask="false"/>