Приемник вещания - PullRequest
       1

Приемник вещания

1 голос
/ 21 марта 2011

Я знаю, что есть два способа сообщить вашей программе о приемнике вещания.Вы можете указать в файле манифеста или динамически зарегистрировать его в файлах Java.Я знаю, если вы поместите его в файлы Java, то вы также должны отменить его регистрацию.Мой вопрос: если вы укажете это только в файле манифеста, есть ли где-то, где вы должны специально отменить его регистрацию.Может быть, в файле манифеста?Может быть, в файле Java?Или, возможно, если заявлено в файле манифеста, вам никогда не придется его отменять.

Спасибо

1 Ответ

2 голосов
/ 21 марта 2011

Auwall,

Как указано в документации:

Базовый класс для кода, который будет получать намерения, отправленные sendBroadcast ().Вы можете либо динамически зарегистрировать экземпляр этого класса в Context.registerReceiver (), либо статически опубликовать реализацию через тег в вашем AndroidManifest.xml.Примечание. Если вы регистрируете получателя в своей реализации Activity.onResume (), вы должны отменить его регистрацию в Activity.onPause ().(Вы не будете получать намерения, когда приостановлены, и это уменьшит ненужные системные издержки).Не отменяйте регистрацию в Activity.onSaveInstanceState (), потому что это не будет вызвано, если пользователь вернется в стек истории

Примечание о отмене регистрации BroadcastReceiver применимо только при его регистрациипрограммно в onResume().Вам не нужно будет отменять регистрацию, если вы зарегистрировали ее в AndroidManifest.xml.

Источник: http://developer.android.com/reference/android/content/BroadcastReceiver.html

...