2014-12-07 4 views
0

Как мы все знаем, в андроиде, когда вы зарегистрировали трансляцию, он отправит широковещательную передачу в BroadcastReceiver, количество отправлений будет принадлежать счету действия намерения, как я различаю зарегистрированную трансляцию и систему вещания?В андроиде как отличить уведомление о регистрации или системное уведомление?

+0

Что такое «зарегистрированная трансляция»? Что, собственно, является «системной трансляцией»? – CommonsWare

+0

например: когда u regiter WifiManager.WIFI_STATE_CHANGED_ACTION, трансляция получит уведомление сразу же, я назвал это зарегистрированной трансляцией, если и установить Wi-Fi отключен, система отправит широковещательную рассылку, я вызову системную трансляцию! извините, я не знаю нормального имени! – Fang

+0

, когда вы регистрируетесь для получения трансляции, вы не получите ее немедленно! вы получите его, когда это произойдет. – Yazan

ответ

1

, когда у regiter WifiManager.WIFI_STATE_CHANGED_ACTION широковещательные получат уведомление сразу я назвал его зарегистрированным вещать

Если критерий вы обеспокоены является «получить уведомление немедленно» часть, то есть из-за это липкая трансляция, и поэтому вы получите последнюю трансляцию Intent для этого действия немедленно, в дополнение к будущим трансляциям, пока вы зарегистрированы.

Как я различаю зарегистрированную трансляцию и систему вещания?

Если вы имеете в виду «как отличить, когда я получаю первую« липкую »трансляцию по сравнению с более поздними версиями, в идеале ваш код не заботится об этом. Я бы подумал, что это запах кода.

Если вы абсолютно уверены, что вам нужно обрабатывать первую трансляцию по-разному, используйте boolean для отслеживания того, является ли трансляция первой.

+0

Почему я тестирую, он всегда будет получать «липкую» трансляцию, счет принадлежит счету действия фильтра! – Fang

Смежные вопросы