How is CallRoutingActivity rendered by Google Voice on Android phones
<p>I see this on Google Voice application. Where if you choose the correct option you are given a dialog [com.google.android.apps.googlevoice/.CallRoutingActivity] where you choose if you want to call using "Google Voice" or without it.</p>

<p>I want to understand how this was done.</p>

<p>I have tried a few things by listening to
* android.permission.PROCESS_OUTGOING_CALLS
* android.permission.READ_PHONE_STATE</p>

<p>in these calls I can make a decision based on TelephonyManager.CALL_STATE_OFFHOOK OR TelephonyManager.CALL_STATE_RINGING.</p>

<p>But these guys can only look at the data (they can modify it too, but that is not what I want to do). From what I have read I can call abortBroadcast() in the onReceive(...) function, but that seems wrong. Google Voice is not doing it.</p>

<p>Does anyone have any suggestion where I can display a dialog whenever a user tries to dial and make a decision based on user input what service to use to call?</p>
