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

Узнать какой интернет был отключен - Android

Восстановить пароль Регистрация
 
 
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
10.11.2016, 17:46     Узнать какой интернет был отключен #1
Приветствую.
Есть проверка на включение инета:
Java
1
2
3
4
5
6
7
8
9
10
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        if (activeNetwork != null) {
            if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
                Log.e("-=><=-"," подключено к WiFi");
            } else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
                Log.e("-=><=-", " подключено к мобильному интернету");
            }
        } else {
            Log.e("-=><=-", " нет подключения к интернету");
Все работает прекрасно. Но при отключении я получаю просто " нет подключения к интернету". Подскажите, можно ли как то узнать какой именно инет был выключен (мобильный или вайфай)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2016, 17:46     Узнать какой интернет был отключен
Посмотрите здесь:

Как сделать так, чтобы AVD увидел файлы ОС linux, на которой девайс был запущен? Android
Android У нас был eclipse ,windows 8 x64 и куча фигни [ Filed to load the JNI shared libray "путь к файлу"]
Как узнать, какой именно из установленных браузеров выбирает пользователь Android
Сделать так что бы размер кнопки неизменяемым, какой бы там текст не был Android
Android Приложение выдает ошибку, если на устройстве отключен GPS
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Khaker_tt
25 / 25 / 5
Регистрация: 24.11.2015
Сообщений: 300
10.11.2016, 19:20     Узнать какой интернет был отключен #2
Советую использовать переменную K ecли подключён через Wifi k=1
Если через мобайл данных то к=2 условию надо проверить по переменным.
Паблито
не спать!
1794 / 1528 / 475
Регистрация: 12.05.2014
Сообщений: 5,574
Завершенные тесты: 1
10.11.2016, 20:11     Узнать какой интернет был отключен #3
Цитата Сообщение от Khaker_tt Посмотреть сообщение
Советую использовать переменную K ecли подключён через Wifi k=1
Если через мобайл данных то к=2 условию надо проверить по переменным.
что за бред ты несешь?
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
10.11.2016, 21:08  [ТС]     Узнать какой интернет был отключен #4
и еще вопрос, при включении 3джи - все нормально, а при включении вайфая - дублируется 3 раза. говорили вроде что сначала просто включается, потом идет поиск станции и еще что то. подскажите, можно ли где то узнать как определить что бы сработка было только 1 раз?
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
13.11.2016, 21:08  [ТС]     Узнать какой интернет был отключен #5
Похоже так я и не дождусь ответов. все же попытаюсь задать еще один раз. Запускаю прогу, из которой стартует сервис:
В общем вот вырезки лога:
Код
E/ServiceMessage﹕ onCreate
E/ServiceMessage﹕ onStartCommand
потом идут странные ошибки, но они всегда появляются - не знаю что это
Код
E/linker﹕ load_library(linker.cpp:760): library "libmaliinstr.so" not found
E/﹕ appName=com.myprog.app, acAppName=com.android.cts.openglperf
E/﹕ 0
E/﹕ appName=com.myprog.app, acAppName=com.android.browser
E/﹕ 0
Далее работает сервис и отслеживает состояние инета:
Код
E/-=><=-﹕ 13 ноя 2016 20:31:57 нет подключения к интернету
включаю 3джи
Код
E/-=><=-﹕ 13 ноя 2016 20:32:20 подключено к мобильному интернету
включаю вайфай
Код
E/-=><=-﹕ 13 ноя 2016 20:32:31 подключено к WiFi
E/-=><=-﹕ 13 ноя 2016 20:32:34 подключено к WiFi
E/-=><=-﹕ 13 ноя 2016 20:32:34 подключено к WiFi
почему 3 раза?
Далее выключаю оба инета:
Код
E/-=><=-﹕ 13 ноя 2016 20:32:52 нет подключения к интернету
E/-=><=-﹕ 13 ноя 2016 20:32:52 нет подключения к интернету
и закрываю прогу. сервис остается работать, но происходит его создание заново - почему?
Код
E/ServiceMessage﹕ onCreate
E/ServiceMessage﹕ onStartCommand
E/-=><=-﹕ 13 ноя 2016 20:33:03 нет подключения к интернету
Подключаю вайфай:
Код
E/-=><=-﹕ 13 ноя 2016 20:33:19 подключено к WiFi
E/-=><=-﹕ 13 ноя 2016 20:33:32 подключено к WiFi
E/-=><=-﹕ 13 ноя 2016 20:33:32 подключено к WiFi
Запускаю прогу, что бы прибить сервис
Код
E/ServiceMessage﹕ onStartCommand
E/linker﹕ load_library(linker.cpp:760): library "libmaliinstr.so" not found
E/﹕ appName=com.myprog.app, acAppName=com.android.cts.openglperf
E/﹕ 0
E/﹕ appName=com.myprog.app, acAppName=com.android.browser
E/﹕ 0
прибиваю
Код
E/ServiceMessage﹕ onDestroy
Кто нибудь откликнется?
vxg
Модератор
 Аватар для vxg
2663 / 1674 / 157
Регистрация: 13.01.2012
Сообщений: 6,250
14.11.2016, 11:41     Узнать какой интернет был отключен #6
pixel,
1 чем мешают три сообщения о включении инета?
2 по какой причине прилетает onStartCommand при выгрузке проги надо в коде проги смотреть - той информации что вы предоставили недостаточно
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
14.11.2016, 11:51  [ТС]     Узнать какой интернет был отключен #7
1. не мешает, хотелось бы понять какие именно события происходят в каждый из срабатываний. Какая там информация пролетает?
2. Смущает не onStart, а onCreate при выгрузке.
Паблито
не спать!
1794 / 1528 / 475
Регистрация: 12.05.2014
Сообщений: 5,574
Завершенные тесты: 1
14.11.2016, 11:56     Узнать какой интернет был отключен #8
если убить приложение - сервис пересоздаётся

если пересоздание сервиса все портит - значит код в сервисе написан неочень и надо подумать что переделать, что бы пересоздание сервиса не вызывало паники
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
14.11.2016, 11:58  [ТС]     Узнать какой интернет был отключен #9
Цитата Сообщение от Паблито Посмотреть сообщение
не вызывало паники
у меня или у системы? Если на систему это не влияет, то я переживу.
vxg
Модератор
 Аватар для vxg
2663 / 1674 / 157
Регистрация: 13.01.2012
Сообщений: 6,250
15.11.2016, 10:07     Узнать какой интернет был отключен #10
pixel, три раза вызов идет потому что вы уже описали - возможно это события подключения, идентификации и получения адреса. с сервисом без кода вам никто ничего не присоветует
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
15.11.2016, 18:18  [ТС]     Узнать какой интернет был отключен #11
vxg, да не вопрос:
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
public class SomeService extends Service {
 
    final String LOG_TAG = "ServiceMessage";
    BroadcastReceiver internetConnectionStateReceiver = new NetworkStateReceiver();
    IntentFilter internetConnectionStateIntent = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
 
    public void onCreate() {
        super.onCreate();
        Log.e(LOG_TAG, "onCreate");
        this.registerReceiver(internetConnectionStateReceiver, internetConnectionStateIntent);
    }
 
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.e(LOG_TAG, "onStartCommand");
        return super.onStartCommand(intent, flags, startId);
    }
 
    public void onDestroy() {
        super.onDestroy();
        unregisterReceiver(internetConnectionStateReceiver);
        Log.e(LOG_TAG, "onDestroy");
    }
 
    public IBinder onBind(Intent intent) {
        Log.e(LOG_TAG, "onBind");
        return null;
    }
}
vxg
Модератор
 Аватар для vxg
2663 / 1674 / 157
Регистрация: 13.01.2012
Сообщений: 6,250
15.11.2016, 18:30     Узнать какой интернет был отключен #12
pixel, не надо из старта возвращать результат суперкласса, верните стики
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
15.11.2016, 18:32  [ТС]     Узнать какой интернет был отключен #13
vxg, извиняюсь, я новичек в этом, что за стики? если можно наглядный пример. (в принципе, код брал с инета - и от себя дописывал только в онкрит)
vxg
Модератор
 Аватар для vxg
2663 / 1674 / 157
Регистрация: 13.01.2012
Сообщений: 6,250
15.11.2016, 19:34     Узнать какой интернет был отключен #14
pixel, onStartCommand должен вернуть START_STICKY - тогда система не будет его выгружать
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
16.11.2016, 16:07  [ТС]     Узнать какой интернет был отключен #15
спасибо, почитаю

Добавлено через 20 часов 4 минуты
vxg, поставил return START_STICKY; и ... ничего не изменилось, все то же самое как описано в логе выше.
vxg
Модератор
 Аватар для vxg
2663 / 1674 / 157
Регистрация: 13.01.2012
Сообщений: 6,250
16.11.2016, 16:13     Узнать какой интернет был отключен #16
pixel, ну значит остается предположить что ваше приложение само убивает сервис при закрытии
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
16.11.2016, 16:18  [ТС]     Узнать какой интернет был отключен #17
vxg, а как такое можно отследить?
vxg
Модератор
 Аватар для vxg
2663 / 1674 / 157
Регистрация: 13.01.2012
Сообщений: 6,250
16.11.2016, 16:23     Узнать какой интернет был отключен #18
pixel, посмотреть в код вашего приложения)
pixel
 Аватар для pixel
17 / 10 / 1
Регистрация: 19.05.2009
Сообщений: 1,505
16.11.2016, 16:32  [ТС]     Узнать какой интернет был отключен #19
vxg, так у меня только пустое активити с кнопкой для убивания сервиса:
Java
1
2
3
4
5
6
7
8
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        startService(new Intent(this, SomeService.class));
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2016, 16:35     Узнать какой интернет был отключен
Еще ссылки по теме:

Android Узнать состояние Wi-Fi
Android Отправка данных из dialogfragment в активити в котором был создан диалог
Узнать ID вставленной в БД строки Android

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

Или воспользуйтесь поиском по форуму:
Паблито
не спать!
1794 / 1528 / 475
Регистрация: 12.05.2014
Сообщений: 5,574
Завершенные тесты: 1
16.11.2016, 16:35     Узнать какой интернет был отключен #20
все еще остается загадкой, где же находится код, который приведет в первом сообщении в начале темы
Yandex
Объявления
16.11.2016, 16:35     Узнать какой интернет был отключен
Ответ Создать тему
Опции темы

Текущее время: 17:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru