دوستان سلام
این کلاسی که در پایین قرار میدم برای چک کردن وضعیت اینترنت هست
که هم کد کمتری داره و هم روی api 28 نیز جواب میده
لذت ببرید.
import android.content.Context;
import android.net.ConnectivityManager;
public class NetworkUtil {
public static boolean isNetworkConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}
}
سلام پوریا این متدی که استفاده کردی depricate نشده؟
من یه کدی استفاده کردم عملکرد بهتری داشت هم برای نسخه های خیلی پایین هم برای نسخه های بالاتر
https://gist.github.com/vbile/55a69e6661d5dfdf3d87b226ca971a47
object NetworkUtil {
fun isNetworkAvailable(activity: Activity): Boolean {
val connectivity =
activity.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
val networks = connectivity.allNetworks
var networkInfo: NetworkInfo
for (mNetwork in networks) {
networkInfo = connectivity.getNetworkInfo(mNetwork)
if (networkInfo.state == NetworkInfo.State.CONNECTED) {
return true
}
}
} else {
if (connectivity != null) {
val info = connectivity.allNetworkInfo
if (info != null) {
for (anInfo in info) {
if (anInfo.state == NetworkInfo.State.CONNECTED) {
Log.d("Network", "NETWORKNAME: " + anInfo.typeName)
return true
}
}
}
}
}
return false
}
}