У меня есть основной вопрос о трансляции,
У меня есть широковещательный приемник в коде, а не в файле манифеста. При создании активности я создаю и устанавливаю фильтр намерений для трансляции.
Если служба, работающая в фоновом режиме, отправляет широковещательную передачу, пока активность еще не запущена, как это будет получено?
Если фильтр намерения не объявлен в манифесте, соответствующее приложение не будет запущено, когда система широковещательной передачи будет запущена.
Фильтры намерений должны быть в манифесте для этого, поэтому ваше приложение должно быть отправлено в эфир, если это произойдет, чтобы работать в то время, когда он был запущен.
Это задокументировано в Intents и Intent Filters :
Фильтр намерений является экземпляром класса IntentFilter. Однако, поскольку система Android должна знать о возможностях компонента, прежде чем он сможет запустить этот компонент, фильтры намерений обычно не настроены в коде Java, а в файле манифеста приложения (AndroidManifest.xml) в качестве элементов.
Он не будет получен, поскольку он никогда не регистрируется:
Вам нужно поместить его в свой манифест, чтобы получить трансляцию, когда ваше приложение не запущено.