【发布时间】:2020-12-17 02:48:27
【问题描述】:
其实我想显示用户在线/离线状态。我阅读了https://firebase.google.com/docs/firestore/solutions/presence 并实施了onDiscount() 以更新实时数据库isOnline = false 打折,但问题是当用户打折时这些数据不会在Firestore 内更新。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Map<String, Object> user = new HashMap<>();
myRef.child(IS_ONLINE).setValue(true);
myRef.child(IS_ONLINE).onDisconnect().setValue(false);
myRef.child("isOnline").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
status = snapshot.getValue(Boolean.class);
user.put("isOnline", status);
doctRef.set(user);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
【问题讨论】:
-
问题解决了吗?
-
不是!实际上,为了从实时检索数据到firestore,我使用了后台服务,但问题是在哪里调用这些服务。如果我在
onDestroy()中调用这些服务,那么它们将无法工作.. :(
标签: firebase firebase-realtime-database google-cloud-firestore