当设备可以访问Internet(可以ping到8.8.8.8,不仅可以连接或可用)时,我有一种必须执行的方法。在前台和后台运行的应用程序都应使用哪种方法来检测互联网访问(无法/无法访问服务器)?
我将NetworkCallback(onAvailable()和onLost())与JobService一起使用(通过onStartJob()中的registerNetworkCallback)。它可以正确执行Internet连接,但不能访问Internet。
class MyNetworkCallback() : ConnectivityManager.NetworkCallback() {
override fun onAvailable(network: Network?) {
super.onAvailable(network)
Log.i("ConnectionStatus", "Connected")
// perform my method
}
override fun onLost(network: Network?) {
super.onLost(network)
Log.i("ConnectionStatus", "Disconnected")
}
}
How to check internet access on Android? InetAddress never times out 本主题是关于如何通过多种方法检查Internet访问的内容,但是我不知道如何将此方法集成到JobService中以保持观察Internet访问以检查设备是否可以到达服务器。
我想要什么:
当应用程序在前台和后台运行时,设备连接到互联网并且设备可以访问服务器==>执行method()
当应用程序在前台和后台运行时,设备连接到互联网但设备无法访问服务器==>不执行method()