android - 当用户突然失去网络时,Firebase onDisconnect 花费太多时间来更新实时数据库
问题描述
我正在使用 firebase 制作一个聊天应用程序,我需要立即知道用户是在线还是离线。但是当用户突然失去他的网络时,就会出现 onDisconnect 方法。但是更新实时数据库需要太多时间。
这是我的代码。请分享更好的解决这个问题的方法。
DatabaseReference infoConnected = FirebaseDatabase.getInstance().getReference(".info/connected");
final DatabaseReference UpdateRef = FirebaseDatabase.getInstance().getReference("/Status/"+mAuth.getUid());
infoConnected.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
boolean isCon = dataSnapshot.getValue(Boolean.class);
if(isCon)
{
DatabaseReference reference = UpdateRef.child("Status");
reference.setValue("Online");
reference.onDisconnect().setValue("Offline");
}
}
提前致谢。
解决方案
推荐阅读
- python-3.x - Python 3.6:十进制数第三根的歧义
- git - Git:Fork 作为 Sourcetree 的替代品。当我将本地功能分支推送到原点时的不同行为。为什么?
- oracle - 在 oracle 11g 中生成图像签名时,“FILEOPEN 操作的目录或文件不存在”?
- excel - 一天4点自动运行宏
- vue.js - [Vue 警告]:未知的自定义元素:
(带插件:vue/推荐的 eslint 规则) - text - 2.10.6 上的 Ofnuts GIMP 工具
- c - 为什么我从 c 中读取二进制文件时得到未定义的值?
- java - 用户有节奏地点击屏幕后实现函数调用
- java - JUnit for Spring Integration Activator,返回类型为 Message
- html - 设置具有多个名称的类的属性