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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
#1

Проверить интернет даже когда есть wifi - Программирование Android

19.08.2012, 23:38. Просмотров 2092. Ответов 9
Метки нет (Все метки)

Как реализовать проверку интернета, работающую даже в том случае, когда есть wifi-сеть, но по этой сети интернет не раздается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2012, 23:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить интернет даже когда есть wifi (Программирование Android):

Когда приложение удаляешь даже из списка открытых приложений - Программирование Android
То есть если у меня есть приложение состоящее из одного активити и я не просто закрыл приложение нажав кнопку back, а зашел в запущенные...

Сообщение "приложение остановлено" постоянно, даже когда приложение вообще не запущено - Программирование Android
Собственно ,сабж в топике

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

Узнать есть ли на устройстве Wifi - Программирование Android
Здравствуйте. Вопрос такой как узнать (если это можно) есть ли физически на устройстве wifi или нет по аналогии с bluetooth ?

Как при запуске проверить включен ли обычный интернет? - Программирование Android
Доброго времени суток. Как при запуске проверить включен ли обычный интернет? То есть Передача данных. Спасибо, за ответы

Постоянно грузится видеокарта до 99% даже во время простоя. Когда отключаю интернет перестает - Удаление вирусов
Добрый вечер. Заметил проблему что после 15 минут игры фпс падает до 15 а в норме 100 держит. Установил прогу проверки температуры и...

9
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
21.08.2012, 19:18 #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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    private NetworkConnectionListener networkConnectionListener = null; 
    
    @Override
    public void onCreate() {
        networkConnectionListener = new NetworkConnectionListener();
        IntentFilter connectivityChange = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
        registerReceiver(networkConnectionListener, connectivityChange);
        //...
        super.onCreate();
    }
    
    public static int lookupHost(String hostname) {
        InetAddress inetAddress;
        try {
            inetAddress = InetAddress.getByName(hostname);
        } catch (UnknownHostException e) {
            return -1;
        }
        byte[] addrBytes;
        int addr;
        addrBytes = inetAddress.getAddress();
        addr = ((addrBytes[3] & 0xff) << 24)
                | ((addrBytes[2] & 0xff) << 16)
                | ((addrBytes[1] & 0xff) << 8)
                |  (addrBytes[0] & 0xff);
        return addr;
    }
 
    public class NetworkConnectionListener extends BroadcastReceiver {
 
        @Override
        public void onReceive(Context context, Intent arg1) {
            new Thread(new ConnectionRun()).start();
        }
 
    }
    
    private class ConnectionRun implements Runnable{
        @Override
        public void run() {
            boolean isNetworkConnected = false;
            ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE );
            NetworkInfo info = connectivityManager.getActiveNetworkInfo();
                if (info != null && info.getState() == android.net.NetworkInfo.State.CONNECTED) {
                    if(lookupHost("www.8tracks.com") == -1)
                        isNetworkConnected = false;
                    else
                        isNetworkConnected = true;
                }else
                    isNetworkConnected = false;
            return isNetworkConnected;
        }
        
    }
2
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
21.08.2012, 19:34  [ТС] #3
Цитата Сообщение от YAUHEN Посмотреть сообщение
if(lookupHost("www.8tracks.com") == -1)
хм, а если этот сайт будет недоступен ?
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
21.08.2012, 19:41 #4
таки не всё лишнее убрал
проверяйте гугловые днсы
https://developers.google.com/speed/...dns/docs/using
если они здохнут то юзер получит некоторое неудобство но ему будет пох потому как это будет конец света.
в любом случае алгоритм таков что надо проверять ипы сайты днсы и если "ответа нет" в виде эксепшона и тд и тп - интернета нет. метода наподобие "context.isDeviceConnectedToInternet()" я не нашёл.
1
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
21.08.2012, 20:24  [ТС] #5
YAUHEN, спасибо за совет.
0
kvaka
29 / 29 / 3
Регистрация: 26.06.2012
Сообщений: 163
22.08.2012, 10:17 #6
Если я не ошибаюсь, то все значительно проще.
Вот вроде классический тип проверки на различные типы подключения:
Java
1
2
3
4
ConnectivityManager connectivityManager;
            internetAvailable = 
                       (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED|| 
                        connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI  ).getState() == NetworkInfo.State.CONNECTED);
И не забываем писать соответствующие разрешения в манифесте.
0
Slimmy
65 / 18 / 2
Регистрация: 09.10.2010
Сообщений: 97
22.08.2012, 14:47 #7
Я пользуюсь вот таким методом. Вполне себе работает.
Java
1
2
3
4
5
6
7
8
public boolean isOnline() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
}
0
YAUHEN
146 / 128 / 6
Регистрация: 29.07.2008
Сообщений: 506
22.08.2012, 14:53 #8
kvaka,
Slimmy,
я не проверял конечно ваш код но у меня есть 1 тест кейс:
берём 2 девайса.
на первом у нас включён HDSPA и WiFi Hotspot (раздаём интернеты)
подключаемся со второго девайса к первому по WiFi. интернетики есть.
на первом девайсе выключаем интернет (хотспот продолжает работать)
на девайсе номер 2 интернетика нет хотя всё успешно законекчено к девайсу номер 1.

ваше решение будет работать в такой ситуации?
тесткейс на мой взгляд довольно адекватный ввиду того что существует куча таблеток без возможности подключения к мобильному интернету но с WiFi(самому приходилось часто так делать).
0
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
22.08.2012, 14:57  [ТС] #9
присоединяюсь к вопросу.
0
Slimmy
65 / 18 / 2
Регистрация: 09.10.2010
Сообщений: 97
22.08.2012, 14:59 #10
Цитата Сообщение от YAUHEN Посмотреть сообщение
kvaka,
Slimmy,
я не проверял конечно ваш код но у меня есть 1 тест кейс:
берём 2 девайса.
на первом у нас включён HDSPA и WiFi Hotspot (раздаём интернеты)
подключаемся со второго девайса к первому по WiFi. интернетики есть.
на первом девайсе выключаем интернет (хотспот продолжает работать)
на девайсе номер 2 интернетика нет хотя всё успешно законекчено к девайсу номер 1.

ваше решение будет работать в такой ситуации?
тесткейс на мой взгляд довольно адекватный ввиду того что существует куча таблеток без возможности подключения к мобильному интернету но с WiFi(самому приходилось часто так делать).
Не могу ответить на данный вопрос, по-скольку только недавно начал вкуривать Android. Я бы сказал pre-junior еще . Но этот момент в будущем постараюсь учесть. Возьму на заметку, спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2012, 14:59
Привет! Вот еще темы с ответами:

Время от времени, даже когда интернет отключен, самостоятельно включаеться браузер Mozilla и вылазит реклама. - Удаление вирусов
Время от времени, даже когда интернет отключен, самостоятельно включаеться браузер Mozilla и вылазит реклама.

Когда подключаюсь к WiFi, перестает работать интернет на компе - Wi-Fi
Привет всем! Столкнулся с такой проблемой: когда подключаюсь к WiFi, перестает работать интернет на компе. Причем через вайфай интернет...

Есть интернет, но роутер не раздает WIFI - Wi-Fi
Доброго времени суток! Нашел wifi-роутер TP-Link TL-WR340GD v3. На ПК подключен ADSL DSL-2500U. Сначала кабель идет в ADSL, из ADSL...

домашняя сеть wifi (win XP+win7), интернет есть - Wi-Fi
Не могу никак настроить доступ к папкам обоих компьютеров. Вот моя кухня: Есть стационар подключенный к Интернету (оптоволокно). На...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
22.08.2012, 14:59
Ответ Создать тему
Опции темы

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