RegisterBroadcastReceiver в настройке Manifest.xml или путем реализации исходного кода - PullRequest
17 голосов
/ 25 февраля 2011

Я мало беспокоюсь о регистре BroadcastReceiver : поскольку Android поддерживает довольно гибкую настройку, он позволяет регистрировать BroadcastReceiver двумя способами: в настройке Manifest.xml и через исходный код реализации:

Пример:

Via Manifest.xml

<intent-filter>
    <action android:name="YourBroadcastMesssage" />
</intent-filter>

Зарегистрировать мыслитель орудия исходного кода:

IntentFilter filter = IntentFilter("BroadcastMessage");
filter.addAction("BroadcastMessage");
context.registerReceiver(BroadcastListener, filter);

enter code here

★ Я думаю, что одно из различий не подлежит регистрации:

  1. Реализация ❶ означает всегда зарегистрированное обработчиком широковещательное сообщение.
  2. Реализация ❷ для, если вы не хотите обрабатывать широковещательное сообщение, можете отменить регистрацию этого широковещательного сообщения

Вопрос:

Я до сих пор точно не знаю, когда использовать ❶ или ❷ и что лучше?

1 Ответ

7 голосов
/ 25 февраля 2011

IMO, вы должны зарегистрировать BroadcastReceiver из кода, если вы хотите выполнить действия в этом действии непосредственно после того, как широковещание было перехвачено (например, завершите задание).

Если вы хотите выполнять другие виды задач, которые не требуют активности, используйте настройку XML (например, запустите тост, чтобы показать некоторую информацию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...