Communication is about sending data through component or app or device boundaries. A standardized way of components of one or more apps communicating with each other is using broadcasts, which we talked about in Chapter 5.
Another possibility for inter-app communication on one device is using ResultReceiver objects, which are passed by Intents. Despite their name they can not only be used to send data back to an invoker when an invoked component has done its work, but also anytime while it is alive. We used them at a couple of places ...