why dont u match the intentions for dialer and contacts in the other receiver and whenever the outgoing call broadcast reads the dataset from the receiver whose application is used for the outgoing call. Intent.ACTION_DIAL for dialer and Intent.ACTION_PICK for contacts
source
to share