【发布时间】:2016-06-18 22:54:50
【问题描述】:
我在onCreate 中调用了以下代码来跟踪用户是否连接到firebase/是否可以连接到firebase:
DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
connectedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
connected = snapshot.getValue(Boolean.class);
}
@Override
public void onCancelled(DatabaseError error) {
connected = false; // not called in the observations below
}
});
观察到的行为:
A.初始化时:
- onDataChange 在 connected 设置为 false 的情况下被调用
- onDataChange 被调用,并且随后将 connected 设置为 true(假设有 Internet 连接)
B. 1分钟前:
- 关闭 wifi 或数据会导致已连接设置为 false
- 打开 wifi 或数据会导致已连接设置为 true
C. 1 分钟时
- connected 通过 onDataChange 设置为 false
D. 1分钟后
- 无论是否使用 wifi/data,都不会调用 onDataChange
预期行为:
A'。和A一样
B'。和B一样
C'。什么都没有
D'。和 B 一样。
我看到了其他有关丢失身份验证的问题,但我没有在我的日志中看到身份验证问题。此外,一分钟的精确时间似乎非常具体,在其他类似的问题/答案中没有看到。 请注意,我使用的是 firebase 9.0.2。
【问题讨论】:
标签: android firebase connection