Сценарий такой: у меня есть активность и услуга.Есть несколько вещей, которые нужно отправить между обоими:
Поскольку это выглядит скорее как двусторонняя связь, я думаю об использовании LocalBroadcastManager
и что-то вроде:
public class MyActivity extents Activity{
private void receiver = new BroadcastReceiver(){
onReceive(){
//Handle Message from Service
}
}
onResume -> LocalBroadcastManager.registerReceiver(receiver);
onPause -> LocalBroadcastManager.unregisterReceiver();
}
и для службы
public class MyService extents Service{
private void receiver = new BroadcastReceiver(){
onReceive(){
//Handle Message from Activity
}
}
onStart-> LocalBroadcastManager.registerReceiver(receiver);
onDestroy-> LocalBroadcastManager.unregisterReceiver();
}
Это позволит избежать связывания или других способов связи между компонентами приложения, но в то же время позволит отправлять намерения и прослушивать наблюдателей.Есть ли недостатки этого метода?