Подтвердить что ты не робот

RegisterBroadcastReceiver в настройке Manifest.xml или исходным кодом реализации

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

Пример:

Через манифест .xml

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

Зарегистрировать идею реализации исходного кода:

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

enter code here

★ Я думаю, что одно из отличий - это незарегистрированный способ:

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

Вопрос:

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

4b9b3361

Ответ 1

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

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