As for the original question, the reason is there an application has many receivers that send and receive messages and sometimes even when the permissions aren't set to do this or to do that it can still have the ability to do its job which is to send and receive messages in some sort of way. Deep within the code made by the developer are the rules and the functions that govern how app works. They're in is where it it is usually instructed to receive an update with any type of packet of information it receives. Correct me if I'm wrong this is any application or APK file. Remember all these machines, and all they do is send and receive data.