Если вы поддерживаете API уровня 4 и выше, используйте setPackage()
, чтобы сделать вашу «трансляцию» «узкой» - сохраняя трансляцию в своем приложении.По умолчанию трансляция действительно транслируется для всех приложений, которые могут или не могут быть полезны для ваших данных.
Не забудьте отменить регистрацию вашего BroadcastReceiver
(т.е. не регистрируйте егои забудь об этом).В то же время вам нужно будет подумать, что делать, если служба закрывается, а активность уже давно исчезла (например, кнопка НАЗАД).Один из подходов состоит в том, чтобы использовать упорядоченную рассылку с зарегистрированным манифестом получателя с низким приоритетом, который поднимет Notification
, если вещание не будет обработано - этот пример приложения демонстрирует, что я имею в виду.
Вы могли бы рассмотреть Messenger
вместо широковещательного подхода, так как он по сути является "узким вещанием", вероятно, на несколько меньше накладных расходов и не может быть пропущен.Я все еще работаю с механикой использования этого с изменениями конфигурации, хотя.