无法在 Firestore 中禁用脱机数据
从中删除数据后,我需要一些时间才能意识到数据已被删除,并且我假设这是由于自动数据缓存而发生的。我的应用程序与离线使用无关,我想禁用此功能...Firestore Database
Android
app
我已经在我的自定义中添加了这个:Application Class
import android.app.Application;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.FirebaseFirestoreSettings;
public class ApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseFirestore db=FirebaseFirestore.getInstance();
FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
.setPersistenceEnabled(false)
.build();
db.setFirestoreSettings(settings);
}
}
关闭互联网连接并重新打开(当应用程序仍在运行时,是否在后台)后出现问题 - 似乎失去了与服务器的连接,并且它进行了与预期相反的操作 - 而不是停止从缓存中获取数据,而是仅从缓存中获取数据。Firestore module
例如,调试此代码将始终显示 isFromCache
为真
,documentSnapshot
为空(即使该代码位于侧面 - 它不是空的):server
usersRef.document(loggedEmail).collection("challenges_received").get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
boolean isFromCache=documentSnapshots.getMetadata().isFromCache();
if (!documentSnapshots.isEmpty()) {
}
}
});
这是正常行为吗?
有没有另一种方法可以禁用中的数据缓存?Cloud Firestore
编辑:
在自定义中添加:(而不是上面的代码)给出相同的结果。FirebaseFirestore.setLoggingEnabled(flase);
Application Class