如何在android后台服务中监听firebase事件?
Posted
技术标签:
【中文标题】如何在android后台服务中监听firebase事件?【英文标题】:How to listen for firebase events in android background service? 【发布时间】:2017-07-26 00:01:35 【问题描述】:尝试在后台服务中侦听 Firebase 事件。请在下面找到代码sn-p,
@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 退出,该方法就不会被调用。
请大家帮忙。
【问题讨论】:
您究竟想通过使用服务来完成什么?为什么不直接在使用数据的 Activity 中设置监听器? 我想在后台同步数据而不打开活动 【参考方案1】:在您的清单中,确保 android:stopWithTask
未设置为 true
。要么将其设置为false
,要么完全忽略它,因为它默认为false
。这样,Service 将与 Activity 的生命周期无关。您的清单应如下所示:
<service
android:name=".your_package_here.your_service_class_here"
android:enabled="true"
android:stopWithTask="false"/>
【讨论】:
以上是关于如何在android后台服务中监听firebase事件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在后台监听firebase实时数据库更新事件并使用颤振自动启动应用程序(如Messenger中的调用功能)?
需要适用于 Android 和 IOS 的 React Native OneSignal 后台监听器