Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.77
chizz
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 18
Завершенные тесты: 1
#1

Проверка internet connection. Проверка доступности сети - Программирование Android

23.07.2013, 17:35. Просмотров 2975. Ответов 2
Метки нет (Все метки)

Добрый день.

Для проверки Internet Connection советуют делать что-то вроде:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private boolean haveNetworkConnection() {
    boolean haveConnectedWifi = false;
    boolean haveConnectedMobile = false;
 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    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;
}
Я проверял на эмуляторе - отключение интернета на компе никак не влияет на работу. Девайс продолжает пытаться ломиться в интернет. Как дать девайсу понять, что хоть wi-fi и включен, но интернета нет.

Как правильно решить этот вопрос?

Моя единственная идея - пинговать адрес перед http-запросом и делать запрос если ping прошел. Или ставить таймаут на http request/response.. но я не знаю как.

Добавлено через 2 часа 41 минуту
Сделал костыль, как написано вот тут: http://stackoverflow.com/a/5803489/1912385
Вроде работает так как нужно.

Плюс проверка с использованием ConnectivityManager.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2013, 17:35     Проверка internet connection. Проверка доступности сети
Посмотрите здесь:
Android Проверка доступности файла по пути к файлу
Android Проверка if/else
Android Проверка логина
Проверка числа Android
Проверка лицензии Android
Android Проверка покупки
проверка apk Android
Проверка на null Android
Проверка на кириллицу Android
Android Проверка совместимости
Android проверка антивируса
Android Проверка файлов на существование

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
23.07.2013, 20:12     Проверка internet connection. Проверка доступности сети #2
А это не подойдет?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
 
public class ConnectionDetector {
 
    private Context _context;
 
    public ConnectionDetector(Context context){
        this._context = context;
    }
 
    public boolean isConnectingToInternet(){
        ConnectivityManager connectivity = (ConnectivityManager) _context.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)
                      {
                          return true;
                      }
 
          }
          return false;
    }
}
У меня на эмуляторе отлавливает, что инета нет
chizz
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 18
Завершенные тесты: 1
23.07.2013, 21:16  [ТС]     Проверка internet connection. Проверка доступности сети #3
Может подойдет, надо проверить.
Это штука работает, если вообще нет подключения к инету. Но если он есть, но плохо работает - не подойдет. Нужен timeout и проверка доступности адреса...
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru