Android 使用API 16和17向集合添加值时发生Firestore错误

Android 使用API 16和17向集合添加值时发生Firestore错误,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,我正在尝试向firebase中的集合添加/获取值。使用安卓6.0.0和安卓8.1.0的手机都可以正常工作,但当我尝试使用安卓4.2.0执行相同操作时,出现以下异常消息: com.google.firebase.firestore.FirebaseFirestoreException:无法获取文档,因为客户端处于脱机状态。 以下是我正在使用的代码的和平: private val userCollections = firestore.collection(USERS) private fun g

我正在尝试向firebase中的集合添加/获取值。使用安卓6.0.0和安卓8.1.0的手机都可以正常工作,但当我尝试使用安卓4.2.0执行相同操作时,出现以下异常消息:

com.google.firebase.firestore.FirebaseFirestoreException:无法获取文档,因为客户端处于脱机状态。

以下是我正在使用的代码的和平:

private val userCollections = firestore.collection(USERS)

private fun getCollectionDocument(collectionId: String, id: String) = Single.create<FavoriteData> { single ->
    userCollections.document(FirebaseObject.userId).collection(collectionId)
            .document(id)
            .get()
            .addOnCanceledListener {
                if (!single.isDisposed) {
                    single.onError(FirebaseCancelled())
                }
            }
            .addOnFailureListener {
                if (!single.isDisposed) {
                    single.onError(it)
                }
            }
            .addOnSuccessListener {
                if (!single.isDisposed) {
                    single.onSuccess(favoriteDataMapper.map(it))
                }
            }
}
private val userCollections=firestore.collection(用户)
private fun getCollectionDocument(collectionId:String,id:String)=Single.create{Single->
userCollections.document(FirebaseObject.userId).collection(collectionId)
.文件(id)
.get()
.addOnCanceledListener{
如果(!single.isDisposed){
single.onError(FirebaseCancelled())
}
}
.addOnFailureListener{
如果(!single.isDisposed){
单一。单一错误(it)
}
}
.addOnSuccessListener{
如果(!single.isDisposed){
single.onSuccess(favoriteDataMapper.map(it))
}
}
}

有了Api 16 mobile,它将与我上面写的消息一起转到addOnFailureListener

您可以将项目转换为androidx。您可以在导航选项下找到“迁移到androidx”选项。这可能会有所帮助,因为androidx将为您提供向后可比性。

Android 4.0(API级别14)是Firebase工作的最低要求。所以在安卓4.2.0中,你不应该有问题。也许你应该向Firebase团队汇报。你在使用模拟器吗?这实际上可能是因为您的设备没有连接。在emulator和real device中,我在项目中使用androidx时得到了相同的结果,所以这不是问题所在。