Цель :
Определение того, была ли загрузка, выполненная с помощью okttp4 на Android, успешной или неудачной.
Попытка :
Отправка запроса на сервер после определенного количества времени. Возможно, это не оптимальный подход.
Код :
var url = HttpUrl.Builder()
.scheme("http")
.host(ConstantValues.HOST)
.port(ConstantValues.PORT)
.addPathSegment(relativeUrl)
.addQueryParameter("fileName", "expectedFileSize")
.build()
val request = Request.Builder()
.url(url)
.get().build()
val client = OkHttpClient()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: java.io.IOException) {
e.printStackTrace()
}
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
val result: String = response.body?.string() ?: "failed"
checkSizesMatch(result)
}
}
})
Это нормально для наших нужд. Есть ли прямой способ выполнить sh, не задавая специфический c запрос к серверу? Есть ли обратный вызов, который может сказать мне, был ли файл полностью загружен успешно?