- Manifest
<manifest >
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />
...
</manifest>- Android 9 or Oldest
Not Realtime
val cm:ConnectivityManager= applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) asConnectivityManagerval isConnect:Boolean= cm.activeNetworkInfo !=null&& cm.activeNetworkInfo!!.isConnected
Log.d(TAG, "startNetworkCalilback: $isConnect")- Android 10
Realtime every connection connect or not
val cm:ConnectivityManager= application.getSystemService(Context.CONNECTIVITY_SERVICE) asConnectivityManagerval builder:NetworkRequest.Builder=NetworkRequest.Builder()
cm.registerNetworkCallback(builder.build(),
object:ConnectivityManager.NetworkCallback() {
overridefunonAvailable(network:Network) {
Log.d(TAG, "onAvailable: true")
}
overridefunonLost(network:Network) {
Log.d(TAG, "onAvailable: false")
}
})Copyright 2020 M. Fadli Zein