Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.mahmoud947:easy_connectivity:1.0.0'
}
NOTE
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding
private lateinit var easyConnectivity: EasyConnectivity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
easyConnectivity =
EasyConnectivity.getInstance(applicationContext.getSystemService())
if (easyConnectivity.isConnected()) {
Toast.makeText(this, "connected", Toast.LENGTH_SHORT).show()
}
}
}
NOTE
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding
private lateinit var easyConnectivity: EasyConnectivity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
easyConnectivity =
EasyConnectivity.getInstance(applicationContext.getSystemService())
lifecycleScope.launchWhenStarted {
easyConnectivity.getNetworkStateFlow().collect {
val networkType = it.networkType.name
/* WIFI,
CELLULAR,
ETHERNET,
NULL */
val connectionState = it.connectionState.name
/* Available,
AvailableWithOutInternet,
Lost,
Unavailable,
Losing
*/
}
}
}
}
NOTE
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
class MainActivity : AppCompatActivity() {
lateinit var binding: ActivityMainBinding
private lateinit var easyConnectivity: EasyConnectivity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
easyConnectivity =
EasyConnectivity.getInstance(
systemService = applicationContext.getSystemService()
)
easyConnectivity.callBack(object : NetworkMonitorCallback {
override fun onAvailable() {
// connected
}
override fun onUnAvailable() {
// not connected
}
override fun onLosing() {
// Losing connect
}
override fun onLost() {
// lost connect
}
})
}
}