Приемник вещания зарегистрирован по коду - PullRequest
2 голосов
/ 26 сентября 2011

Я регистрирую получателя из onCreate из своей активности следующим образом

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenOnOffReceiver();
registerReceiver(mReceiver, filter);

И все работает хорошо, и получатель получает намерения, и все работает хорошо, пока я не закрою активность.Когда я закрываю действие, метод больше не получает намерения ...

Кто-нибудь знает, как я могу зарегистрироваться для получения.,.

Примечание: я не отменил регистрацию приемника, но это происходит каким-то волшебным образом, он просто перестает работать должным образом.,.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

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

Подробнее здесь http://developer.android.com/reference/android/app/Service.html

0 голосов
/ 26 сентября 2011

Идея регистрации получателя широковещания в действии состоит в том, чтобы получать уведомления о каком-либо событии, когда действие включено (зарегистрируйте получателя в onResume, отмените его регистрацию в onPause).

Если вам нужен получатель широковещаниячтобы обработать событие, когда действие не отображается, зарегистрируйте приемник вещания в манифесте.

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

...