У меня есть следующий метод, чтобы проверить, имеет ли мое устройство мобильное или Wi-Fi соединение:
public static boolean haveNetworkConnection(ConnectivityManager cm) {
boolean haveConnectedWifi = false;
boolean haveConnectedMobile = false;
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
haveConnectedMobile = true;
}
return haveConnectedWifi || haveConnectedMobile;
}
Код работает нормально (возвращает true), когда телефон подключен к Wi-Fi, однако, когда телефон не подключен, метод все равно возвращает true.
Я проверил, чтобы телефон был полностью отключен, поскольку ни одно из моих других приложений не может подключиться к Интернету.
Любая помощь будет принята с благодарностью.