Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.77
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
#1

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

23.07.2013, 17:35. Просмотров 3420. Ответов 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.
http://www.cyberforum.ru/android-dev/thread1317632.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2013, 17:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проверка internet connection. Проверка доступности сети (Программирование Android):

Проверка if/else
Вообщем есть текст да? Например такой 123 456 789 ...

Проверка покупки
Всем привет, не получается сделать проверку на покупку. Вот такой код: ...

Проверка на null
Как правильно создать условие. У меня есть строчки кода, которые в переменную...

Проверка на кириллицу
Доброго времени суток. Есть ряд тектовых полей, куда пользователь вводит...

Проверка лицензии
Есть проверка лицензии приложения, которая запускается так: ...

2
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
23.07.2013, 20:12 #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;
    }
}
У меня на эмуляторе отлавливает, что инета нет
1
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
23.07.2013, 21:16  [ТС] #3
Может подойдет, надо проверить.
Это штука работает, если вообще нет подключения к инету. Но если он есть, но плохо работает - не подойдет. Нужен timeout и проверка доступности адреса...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 21:16
Привет! Вот еще темы с решениями:

проверка антивируса
как написать программу проверки антивируса на андроид через андроид студио?

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

Проверка числа
Здравствуйте Прошу помочь мне Не совсем понял как это сделать и есть ли...

Проверка совместимости
Есть ли какой-нибудь сервис для проверки совместимости приложения с различными...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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