Applications communicate with each other with the android operating system by using so-called "Public Intent". An application does not necessarily know by which other application it is being targeted. It just informs the system what it wants to do.
- I want to display a map
- I want to display a picture or play an MP3 file
Following this, the android system checks which installed application can perform the task and displays a variety of applications to choose from. It is also possible to select a particular application as a default to perform the task.