试图在后台服务中侦听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,该方法就不会被调用。
任何人都请帮忙。
答案 0 :(得分:0)
在您的清单中,请确保android:stopWithTask
未设置为true
。将其设置为false
,或将其完全保留,因为它默认为false
。这样,服务将与Activity的生命周期无关。你的清单应该是这样的:
<service
android:name=".your_package_here.your_service_class_here"
android:enabled="true"
android:stopWithTask="false"/>