我遇到了一件奇怪的事情,其中 OnSuccessListener
或 OnFailureListener
停止被调用。一切正常,但是当我关闭移动数据和 Wifi 时,OnSuccessListener
或 OnFailureListener
正在被调用。
如果我在下面的代码 ref.set(update).....
上放置断点,断点确实被命中但不是 OnSuccessListener
或 OnFailureListener
触发
Map<String, String> update = new HashMap<>();
update.put(ByteData.DATA, data);
DocumentReference ref = firestore
.collection(DEVICE_DATA)
.document(FirestoreManager.getInstance().getUserId())
.collection(DEVICE_DATA_STREAM)
.document(batteryEntity.getEntityId());
ref.set(update).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// do some stuff
}
}).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// do some stuff
}
});
最佳答案
when I turn of mobile data and Wifi [neither] the
OnSuccessListener
orOnFailureListener
is being called
这是预期的行为。只有在数据写入服务器(或被服务器拒绝)后,才会调用完成监听器。
监听器不会为本地写操作触发。如果本地写入操作失败,客户端将引发常规异常。
关于android - 为什么我的听众没有在这个 Firestore 集中点击这里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57444042/