getSystemService(Context.CONNECTIVITY_SERVICE);

Проверяет ли этот метод фактическое подключение к Интернету или подключение устройства к беспроводной сети.

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

Мой код: -

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

person Robbie Birkett    schedule 07.08.2013    source источник
comment
Вы хотите проверить подключение к Интернету или нет?   -  person Hiren Patel    schedule 04.12.2013


Ответы (2)


Ваш код проверяет, есть ли у устройства подключение к Интернету или нет. Если ваше устройство подключено к WI-FI или любой другой сети, то возвращается логическое значение true, иначе возвращается false.

person user3059993    schedule 04.12.2013

Ну, эта функция тоже не проверяет, она возвращает класс, у которого есть функциональность для проверки. Но ответ заключается в том, что он увидит маршрутизатор и вернет, что у него есть подключение к Интернету. Если вы хотите большего, попробуйте получить доступ к веб-сервису на вашем сервере (или просто загрузите что-нибудь вроде домашней страницы Google).

person Gabe Sechan    schedule 07.08.2013
comment
Не могли бы вы дать мне некоторые рекомендации о том, как это сделать? Спасибо - person Robbie Birkett; 07.08.2013
comment
Я добавил код, который я использую, как я могу попросить его проверить, например, страницу Google и вернуть false, если он не может ее достичь. Как бы я изменил свой код - person Robbie Birkett; 07.08.2013