java - firebase addvalueeventlistener 未在一台设备中触发

标签 java android firebase firebase-realtime-database firebase-authentication

我在使用一台特定设备时遇到问题(我的主要设备是 Galaxy s7)

如下所述: Firebase addValueEventListener not being triggered

addvalueeventlistener 不会触发,按照建议我检查是否有使用此连接:

https://firebase.google.com/docs/database/android/offline-capabilities#section-connection-state

我实际上没有连接

问题在于,在一台开发设备上运行良好,而在另一台设备上则不然。

我在这里缺少什么?

这是代码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
localCountryDB = ((GlobalState) this.getApplication()).getCountry();
mAuth = FirebaseAuth.getInstance();
mFirebaseDatabase = FirebaseDatabase.getInstance();
myRef = mFirebaseDatabase.getReference().child(localCountryDB);
FirebaseUser user = mAuth.getCurrentUser();
if (mAuth.getCurrentUser()!=null)
userID = user.getUid();

DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
connectedRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
boolean connected = snapshot.getValue(Boolean.class);
if (connected) {
System.out.println("connected");
} else {
System.out.println("not connected");
}
}

@Override
public void onCancelled(DatabaseError error) {
System.err.println("Listener was cancelled");
}
});

valueEventListener = myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
getUserData(dataSnapshot);
}



@Override
public void onCancelled(DatabaseError databaseError) {

String Hello;
Hello="a";
}
});

最佳答案

我发现了问题

问题在于:

mAuth.getCurrentUser()

实际上返回了一个用户,一个已经从身份验证数据中删除的旧用户,所以我不得不

mAuth.signout()

一旦我这样做了,连接就会再次“连接”并且 ValueEventListener 会触发

问题是我不知道如何捕获这个错误,因为触发器没有触发。

关于java - firebase addvalueeventlistener 未在一台设备中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827163/

相关文章:

android - Google place API for android 查找城市

Android - 自定义复合组件中的 View 未膨胀(findByView 返回 null)

android - 如何快速自动发送FCM或APNS消息?

javascript - 如何通过 index.html 在 Firebase 存储中显示图像

java - 返回语句错误,改为返回 null

java - java整数集的内存有效存储

Java - 使用 Callable void 解析方法

java - 从正在运行的服务更新 Activity UI

android - 禁用抽屉导航,在 fragment 中切换主页按钮/向上指示器

android - 外部链接到 Firebase 存储上存储的文件?