С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 1

Не корректно отрабатывает метод onReceive()

24.12.2016, 19:10. Показов 978. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется BroadcastReceiver, который должен отработать, если будет утеряно подключение к WiFi. Как должно быть:

Приложение работает - WiFi выключили - отрабатывает onReceive() - выполнение процессов прекращается и пользователь об этом уведомляется.

Вместе с реагированием на отключение WiFi метод onReceive() отрабатывает и в таком сценарии: Приложение запустили с выключенным WiFi - включили WiFi - метод onReceive() тоже отрабатывает. Т.е, получается, что WiFi включен, а пользователь видит сообщение об обратном. Как это пофиксить?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class WifiReceiver extends BroadcastReceiver {
 
 @Override
    public void onReceive(Context context, Intent intent) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ni = cm.getActiveNetworkInfo();
           if (!(ni != null && ni.getType() == ConnectivityManager.TYPE_WIFI)) {
                context.stopService(new Intent(context, NotificationService.class));
                Intent ss = new Intent(context, MainActivity.class);
                ss.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                ss.putExtra("noWifi", "noWifi");
                context.startActivity(ss);
            }
        }
    }
XML
1
2
3
4
5
<receiver android:name=".WifiReceiver" >
            <intent-filter android:priority="100">
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
            </intent-filter>
        </receiver>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2016, 19:10
Ответы с готовыми решениями:

Программа не корректно отрабатывает
программа не корректно отрабатывает, подскажите что не так? #include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main(void) { ...

Скрипт не отрабатывает корректно
Всем привет! Я сделал тестовый сайт - 4.fishouk.z8.ru Внизу сайта есть блок из кнопки и фона большой картинки. Что бы картинка...

JQuery не корректно отрабатывает в IE8
Есть некий код, который изменяет некоторые свойства формы: function silvercloudSubmit() { var input =...

1
114 / 120 / 26
Регистрация: 29.01.2014
Сообщений: 609
25.12.2016, 16:19
WIFI_STATE_CHANGED запустит ресивер в обоих случаях. и когда вкл и когда выкл.
вот в стаке есть пример, может вам поможет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
 
    boolean isConnected = wifi != null && wifi.isConnectedOrConnecting() ||
            mobile != null && mobile.isConnectedOrConnecting();
    if (isConnected) {
        Log.d("Network Available ", "YES");
    } else {
        Log.d("Network Available ", "NO");
    }
}}
XML
1
2
3
4
<receiver android:name=".NetworkChangeReceiver" >
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2016, 16:19
Помогаю со студенческими работами здесь

Код корректно отрабатывает только один раз
Вымучил ПРОГУ по копированию файлов, но она не работает так как надо (понятно из за корявости рук и мозгов) 1) еже ли ее запустить один...

ProgressBar (повешенный на UserForm) не корректно отрабатывает (визуализирует) процесс расчёта
Привет всем! ProgressBar (повешенный на UserForm) не корректно отрабатывает (визуализирует) процесс расчёта. Должено быть так:...

Не отрабатывает метод offset()
Добрый день! Есть вызов метода: move(bullet); И сам метод: function move(obj) { var id = obj.id;

Механизм партионного списания отрабатывает только метод FIFO
Реализованный механизм партионного списания отрабатывает только метод FIFO. Необходимо дать возможность пользователю самому выбирать, как...

Метод save класса-модели отрабатывает очень долго
Имеется такой код, который просто устанавливает значение поля status в 0 или 1. public function actionNews_status($id,$status){ ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru