Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Проверка доступности файла по пути к файлу - Программирование Android
В своем приложении я использую файлы с SD карты. Так вот хотелось бы как-то проверить доступность файла (не был ли удален или перемещен в...

Проверка if/else - Программирование Android
Вообщем есть текст да? Например такой 123 456 789 Он находится в EditText/// нужно,что? А чтоб при нажатии...

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

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

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

Проверка логина - Программирование Android
Привет! Давно читаю ваш форум, всегда находил решение своих проблем. Но вот сейчас надо сделать приложение на Android, и у меня ступор....

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
982 / 499 / 54
Регистрация: 19.03.2013
Сообщений: 3,094
Записей в блоге: 18
Завершенные тесты: 1
23.07.2013, 21:16  [ТС] #3
Может подойдет, надо проверить.
Это штука работает, если вообще нет подключения к инету. Но если он есть, но плохо работает - не подойдет. Нужен timeout и проверка доступности адреса...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 21:16
Привет! Вот еще темы с ответами:

Проверка на null - Программирование Android
Как правильно создать условие. У меня есть строчки кода, которые в переменную apiTokenMy записывают значение String tokenMy1 =...

Проверка покупки - Программирование Android
Всем привет, не получается сделать проверку на покупку. Вот такой код: mHelper.enableDebugLogging(true); ...

Проверка лицензии - Программирование Android
Есть проверка лицензии приложения, которая запускается так: mChecker.checkAccess(mLicenseCheckerCallback); Обьект...

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


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

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

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