val cm = context.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val currentNetwork = cm.activeNetwork if (currentNetwork != null) { val caps = cm.getNetworkCapabilities(currentNetwork) val linkProperties = cm.getLinkProperties(currentNetwork) }
val cm = context.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager cm.registerDefaultNetworkCallback(object : ConnectivityManager.NetworkCallback() { overridefunonAvailable(network: Network) { Log.e(TAG, "The default network is now: " + network) }
overridefunonLost(network: Network) { Log.e(TAG, "The application no longer has a default network. The last default network was " + network) handle(null) }
PermissionX is an extension Android library that makes Android runtime permission request extremely easy. You can use it for basic permission request occasions or handle more complex conditions, like showing rationale dialog or go to app settings for allowance manually.