2017-02-16 3 views
1

my appnetworkInfo.isConnected() метод возвращает true, даже если нет Интернета?

я развивать это приложение, в основной деятельности я проверить подключение к Интернету, как следующее:

ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); 

    if (networkInfo != null && networkInfo.isConnected()) { 
     LoaderManager loaderManager = getSupportLoaderManager(); 
     loaderManager.initLoader(1, null, this); 

    } 

, когда я иду к HOURLY деятельности я проверить в Интернете точно так же, как и выше на onCreate() способ.

мой вопрос, когда я открываю основной деятельности я отключить Интернет и перейти к HOURLY деятельности не обращаться «не исключение Интернет», но networkInfo.isConnected() в HOURLY возвращения деятельности true почему Интернет еще подключить ???

+0

Отсоедините также свой мобильный сигнал? – anthony

ответ

0

Я не знаю, что вы намерены делать с приведенным выше кодом, но я уверен, что это сработает.

Метод ConnectivityManagergetActiveNetworkInfo() возвращает NetworkInfo экземпляр, представляющий первый подключенный сетевой интерфейс может найти или нулевое значение, если ни один из интерфейсов не подключены. Проверка того, возвращает ли этот метод значение null, достаточно, чтобы узнать, доступно ли подключение к Интернету или нет.

private boolean isNetworkAvailable() { 
    ConnectivityManager connectivityManager 
      = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
    return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
} 

Вам также потребуется:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

в андроид манифеста.

Обратите внимание, что наличие активного сетевого интерфейса не гарантирует наличие конкретной сетевой службы. Проблемы с сетью, время простоя сервера, низкий сигнал, неактивные порталы, фильтры содержимого и т. Д. Могут помешать вашему приходу достичь сервера. Например, вы не можете точно сказать, может ли ваше приложение достигнуть Twitter, пока вы не получите действительный ответ от службы Twitter.

+0

спасибо, что эта работа будет –

Смежные вопросы