I want to implement a gateway for handling outgoing calls.
In the latest Android versions 2.x I can do this easily with the hidden ACTION_CALL extra string: "com.android.phone.extra.GATEWAY_URI"
But in earlier versions, like 1.6, I don't know how to do it. It must be possible because Google Voice is doing it. Can someone please help me?
Thanks, Emmanuel
Hey Emmanuel, 76% of Devices already run Android 2.x maybe that effort is wasted. Gingerbread is expected to come out by the end of the year, which will push the percentage of 1.6 Devices further down. In less than half a year Android 2.x and higher will by beyond the 80% mark. Just look at the Platform version distribution http://d.android.com/resources/dashboard/platform-versions.html. Maybe have a look at the source code in the Android Open Source Project.
I found the string you mentioned in the InCallScreen.java. Maybe that gives you a way to dig into the older source code to try to figure out if you can access it through some undocumented APIs. But my suggestion would be to not bother with those last 25% of 1.6 devices they will disappear fast.
[Update] Since it is a requirement to make it work, I would suggest you recompile the Phone App from the git repository and make it debugable that way you can see exactly what is going on. Probably having an ASOP Device running 1.6 would be your best bet to drill deep into how Android is doing it. Basically you would have to back port all the code that is involved in this feature in 2.x back to 1.6. From a time to market perspective I would suggest get the app out with 2.x support and release a second version that is tailored for 1.6. Delaying the release just because of 1.6 seems to be a bad business idea.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With