【发布时间】:2021-04-04 17:00:55
【问题描述】:
我正在尝试使用 .info/connected 路径在我的 android 聊天应用程序中添加在线/离线功能 我在 onCreate() 方法中编写了以下代码
studentref = FirebaseDatabase.getInstance().getReference("student").child(user.getUid());
connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
connectedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
boolean connected = snapshot.getValue(Boolean.class);
if (connected) {
studentref.child("status").onDisconnect().setValue("offline");
studentref.child("status").setValue("Online");
} else {
studentref.child("status").setValue("offline");
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
但是当我最小化应用程序超过 60 秒时,else 部分不会执行 它仅在我关闭应用程序或关闭互联网超过 60 秒时才有效
如何使它工作,当应用程序在前台时,它应该设置值“在线”,当应用程序在后台或被杀死时,它应该设置值“离线”
【问题讨论】:
标签: java android firebase firebase-realtime-database