在 Android 台设备中同步调用 firestore

Make synchronous call to firestore in Android device

我正在尝试通过 Android 设备更新 firestore 文档。该代码是 instrumented test 的一部分,我必须同步调用 Firestore 来更新文档。

DocumentReference ref=db.collection("country").document("city")
                        .collection("Delhi").document("LajpatNagar");
Task<Void> temp=ref.update("isPinCodeAdded",true);
        while(!temp.isSuccessful()){    
        }

执行无限期 while loop,任务永远不会成功。 那么如何在 android instrumented tests 中进行同步调用到 firestore

您可以阻塞线程并等待 Firebase 任务的结果

Tasks.await(YOUR_TASK)

在您的情况下,代码为

Task<Void> temp = Tasks.await(ref.update("isPinCodeAdded",true));

有关详细信息,请参阅 documentation

请记住 Android 不会让您阻塞主线程,所以如果您在主线程上,请不要这样做。