Я просто хочу реализовать запрос, который проверяет, какие настройки WiFi / Mobile включены каждый раз, когда я нажимаю кнопку. Я получаю странные результаты с моим кодом.
Как реализовать правильное поведение, чтобы я знал, какие адаптеры включены, а какие нет?
private fun check() {
val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
connectivityManager.run {
connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)?.run {
if (hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
Log.d("TAG", "WIFI YES")
} else {
Log.d("TAG", "WIFI NO")
}
if (hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
Log.d("TAG", "MOBILE YES")
} else {
Log.d("TAG", "MOBILE NO")
}
}
}
}
WiFi Mobile --output--> WiFi Mobile
× × no output
✓ × yes no
× ✓ no no
✓ ✓ yes no