Firebase Firestore: Есть ли обратный вызов, когда нет подключения к Интернету?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Firebase Firestore: Есть ли обратный вызов, когда нет подключения к Интернету?

Сообщение Anonymous »

Я разрабатываю приложение Android с использованием Cloud Firestore для хранения данных. Так я устанавливаю данные в базу данных: < /p>

Код: Выделить всё

private fun setData() {
val task = UploadDataTask()
task.setOnUploadFinishedListener(object: UploadDataTask.OnUploadFinishedListener{
override fun uploadFinished() {
// Do something
}

override fun uploadFailed() {
// Do something
}
})
}

private class UploadDataTask: AsyncTask() {

private var onUploadFinishedListener: OnUploadFinishedListener? = null
fun setOnUploadFinishedListener(listener: OnUploadFinishedListener) {
onUploadFinishedListener = listener
}

override fun doInBackground(vararg params: Void?): Void? {
val map = hashMapOf(
UID to firebaseUser.uid
)
firebaseFirestore.collection(USERS)
.document(firebaseUser.uid)
.set(map)
.addOnSuccessListener {
if(onUploadFinishedListener != null)
onUploadFinishedListener!!.uploadFinished()
}
.addOnFailureListener {
if(onUploadFinishedListener != null)
onUploadFinishedListener!!.uploadFailed()
}
return null
}

interface OnUploadFinishedListener {
fun uploadFinished()
fun uploadFailed()
}
}
< /code>

Это отлично работает, но есть одно исключение. Когда я хочу загрузить данные в Firestore, но нет никакого подключения к Интернету, ни onsuccesslistener 
, ни OnfailureListener не вызываются. Я знаю, что это потому, что их вызывают только тогда, когда данные записаны в Firestore. Но я не знаю никакого другого способа проверить, есть ли соединение или нет. Например, когда я хочу показать диалог о прогрессе до тех пор, пока данные не будут успешно записаны в Firestore, он не отклонит, если бы не было никакого соединения. Так как я могу это проверить?

Подробнее здесь: https://stackoverflow.com/questions/588 ... connection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»