ActiveNetworkInfo и isConnected устарели в Kotlin - PullRequest
0 голосов
/ 10 апреля 2020

Я создал функцию расширения для kotlin, которая обнаруживает меня, если я подключен к Inte rnet, но эти методы заставляют меня считать, что они устарели, какие методы я мог бы использовать вместо этого, я оставляю вам функцию, которая у меня есть :

    fun Context.isInternetAvailable(): Boolean {
    val connectivityManager =
        this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        val nw = connectivityManager.activeNetwork ?: return false
        val actNw = connectivityManager.getNetworkCapabilities(nw) ?: return false
        return when {
            actNw.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
            actNw.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
            else -> false
        }
    } else {
        val nwInfo = connectivityManager.activeNetworkInfo ?: return false
        return nwInfo.isConnected
    }
}

1 Ответ

0 голосов
/ 11 апреля 2020

По моему мнению, лучше использовать клиентские библиотеки http, такие как Retrofit или Ktor, и перехватывать исключение сети для каждого запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...