Broadcast Action: An outgoing call is about to be placed.
The Intent will have the following extra value:
Once the broadcast is finished, the resultData is used as the actual number to call. If null, no call will be placed.
It is perfectly acceptable for multiple receivers to process the outgoing call in turn: for example, a parental control application might verify that the user is authorized to place the call at that time, then a number-rewriting application might add an area code if one was not specified.
For consistency, any receiver whose purpose is to prohibit phone calls should have a priority of 0, to ensure it will see the final phone number to be dialed. Any receiver whose purpose is to rewrite phone numbers to be called should have a positive priority. Negative priorities are reserved for the system for this broadcast; using them may cause problems.
Any BroadcastReceiver receiving this Intent must not abort the broadcast.
Emergency calls cannot be intercepted using this mechanism, and other calls cannot be modified to call emergency numbers using this mechanism.
Some apps (such as VoIP apps) may want to redirect the outgoing call to use their own service instead. Those apps should first prevent the call from being placed by setting resultData to null and then start their own app to make the call.
You must hold the NoType:android/Manifest$permission;Href=../../../reference/android/Manifest.permission.html#PROCESS_OUTGOING_CALLS permission to receive this Intent.
This is a protected intent that can only be sent by the system.