Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firestore仍在从缓存中检索文档,即使I';已禁用持久性_Android_Firebase_Kotlin_Google Cloud Firestore_Geofire - Fatal编程技术网

Android Firestore仍在从缓存中检索文档,即使I';已禁用持久性

Android Firestore仍在从缓存中检索文档,即使I';已禁用持久性,android,firebase,kotlin,google-cloud-firestore,geofire,Android,Firebase,Kotlin,Google Cloud Firestore,Geofire,我的Firestore仍在从缓存中检索文档,尽管我明确告诉它不要: class MainActivity : AppCompatActivity() { val db = FirebaseFirestore.getInstance() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val dbSettings = F

我的Firestore仍在从缓存中检索文档,尽管我明确告诉它不要:

class MainActivity : AppCompatActivity() {

    val db = FirebaseFirestore.getInstance()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val dbSettings = FirebaseFirestoreSettings.Builder().setPersistenceEnabled(false).build()
        db.firestoreSettings = dbSettings
上面是我设置Firestore设置的启动程序活动

在我的片段中,我执行了一个:

这是它记录的内容:

onDocumentEntered: user1: 0X6 | docId: lPLFf | fromCache: true
isPersistanceEnabled2: false
这没有意义——即使我的持久性已关闭,我仍在接收缓存文档

知道问题出在哪里吗


编辑:我已尝试清除缓存,但没有解决问题。

您现在可以选择是仅从服务器获取数据,还是仅从缓存获取数据,如下所示(仅用于服务器的示例):

DocumentReference=FirebaseFirestore.getInstance().document(“示例”);
documentReference.get(Source.SERVER).addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(文档快照文档快照){
//...
}
});
仅对于缓存,只需将上面的代码更改为Source.cache


默认情况下,这两种方法仍会尝试使用服务器并退回到缓存。

请编辑问题,以准确解释您是如何观察到文档肯定来自缓存而不是服务器的。已编辑-再次出现时,我将包括缓存的文档日志。可能,道格没有看到你的回应,因为你没有用
@
标记他。我想他本可以帮忙的guess@DougStevenson我已经用一些缓存检索的示例更新了我的答案。谢谢这可以解决我的问题-但是我使用库进行查询:所以我不能直接访问我的代码。@Zorgan,因为geofirestore没有强制服务器读取的选项,您只需将此库添加为模块并更改此特定部分
onDocumentEntered: user1: 0X6 | docId: lPLFf | fromCache: true
isPersistanceEnabled2: false
DocumentReference documentReference= FirebaseFirestore.getInstance().document("example");
documentReference.get(Source.SERVER).addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
    @Override
    public void onSuccess(DocumentSnapshot documentSnapshot) {
            //...
    }
});