Я пытаюсь проверить, подключено ли мое устройство к Интернету, прежде чем выполнять операции, требующие подключения. В настоящее время я использую виртуальное устройство Android с кодами ниже. Странно то, что он всегда сообщает true (что означает наличие подключения к Интернету), даже когда я ожидаю, что он вернет false. Это вызывает проблемы с моим приложением. Я пробовал много других решений, включая пример в документации разработчика Android с тем же результатом. Что я делаю не так?
Примечание. Я безуспешно передал как Activity, так и Activity::getApplicationContext как объекты Context.
public boolean isConnectedToInternet() {
ConnectivityManager connectivity = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
Log.v(this.getClass().getName(), info[i].toString());
return true;
}
}
return false;
}