Как проверить состояние подключения устройства Android? - PullRequest
0 голосов
/ 20 сентября 2019

Я пробовал так много решений, чтобы найти ответ, но ничего не помогло, я хочу вашей помощи.Я занимаюсь разработкой приложения для Android, целью которого является минимальное значение SDK (4.4.4), и когда я проверяю состояние соединения, оно не работает из-за устаревших функций.На официальном сайте разработчиков Android решение то же самое, и я не смог решить мою проблему.Любая помощь (с кодом, если это возможно) Спасибо.

private fun isOnLine(): Boolean {
    val connectivityManager = appContext.getSystemService(Context.CONNECTIVITY_SERVICE)
            as ConnectivityManager
    val networkInfo  = connectivityManager.activeNetworkInfo
    return networkInfo != null && networkInfo.isConnected

}

1 Ответ

0 голосов
/ 20 сентября 2019

Вы можете использовать ConnectivityManager, если ваше приложение предназначено для API 24 или новее.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                val connectivityManager = it.getSystemService(Context.CONNECTIVITY_SERVICE) as
                        ConnectivityManager

                connectivityManager.registerDefaultNetworkCallback(object : NetworkCallback() {
                    override fun onAvailable(network: Network) {
                        //take action when network connection is gained
                    }

                    override fun onLost(network: Network?) {
                        //take action when network connection is lost 
                    }
                })
            }
...