I never asked questions - I could always find the material, but this time I really donβt know where to dig.
I try to disconnect the incoming stream of the uplink (when calling someone) and play sound at this time through the speakerphone.
There are no problems with sound reproduction, but with a stream of muffling. Here is what I tried:
1) Java Reflection to call Android Telephony inner class methods.
Here is the authors blog (Prasanta Paul): http://prasanta-paul.blogspot.com/2010/09/call-control-in-android.html And its widget: http://code.google.com/p/phoneaway /
I tried changing the commented functions in ITelephony.aidl to turn off the call flow, but this did not work - "there is no such procedure ..."
2) to switch to AudioManager
audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true); audioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, true); audioManager.setStreamMute(AudioManager.STREAM_DTMF, true); audioManager.setStreamMute(AudioManager.STREAM_ALARM, true); audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); audioManager.setStreamMute(AudioManager.STREAM_RING, true);
and
audioManager.setStreamSolo(AudioManager.STREAM_MUSIC, true);
This does nothing for the uplink call flow. Even on the root phone.
3) There are several articles and banners on the network about the implementation of the hidden API. There are no articles to answer on how to turn off the flow of phone calls.
There are many applications that use some undocumented features and features that require root access. I'm really curious how people found these hidden features and how to use them. I did not find any of them to mute.
Android ver: 2.2
Device: Samsung i5500
If you have an idea how to implement a mute phone call, answer.
PS: If subj is not possible on a standard phone, tell me how to do it with root privileges