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

Nag*_*j N 5 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;
 }
Run Code Online (Sandbox Code Playgroud)

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

有人请帮忙.

Ευά*_*λης 0

在您的清单中,请确保android:stopWithTask未将其设置为true。要么将其设置为false,要么完全忽略它,因为它默认为false。这样,Service 将与 Activity 的生命周期无关。您的清单应如下所示:

 <service
    android:name=".your_package_here.your_service_class_here"
    android:enabled="true"
    android:stopWithTask="false"/>
Run Code Online (Sandbox Code Playgroud)