I am researching whether it is possible to receive an incoming mobile phone call and intercept the call within an application so that before we accept the call we can start to play some music in the background such that the caller listen to the music as well.
Of course you can ! You will have to create service that listens to incoming call intent and then do what you like.
See this tutorial for more information:
How To Handle Incoming Calls in Android
Related
As we all know Broadcast receiver is not working anymore, kindly suggest me a better way to get this done.
Reccelly, I had used firebase to listen to event call incomming. Android system don't kill firebase service when it run in background. Now, I only know this way.
I am trying to write a background service which runs when a call is connected (but calling is done by native calling app) capture it's voice up-link and down-link audio stream. After capturing send it to server.
Once call ended I need to shutdown the service. How this can be achievable? Should I make a system app? Or any other way. This is just a exploration not an application to be deployed.
I was researching this but couldn't find out how to make and recieve calls in a application that is not made by the user. My question is like this question How to send and receive SMS from android app? but for phone calls.
If you simply want to open the dialer from your app you can do it via a simple intent such as Intent.ACTION_CALL, this opens up the dialer(rememebr to request the required permissions in the manifest). You can also listen for telephone events by overriding the PhoneStateListener(). This link talks more about this in detail.
which api detects first incoming call in android phone can anyone tell me or the first action comes into play by which api and where it happens when incoming call comes
Learn about Broadcast and BroadcastReceiver (Abstract Class) to get broadcasts about incoming calls, sms, mms, wifi etc.
http://developer.android.com/reference/android/content/BroadcastReceiver.html
Hopefully an easy one for someone, but causing me problems.
I have an app that loops sound files. I have no code in onPause as I want the app to continue playing music in the background.
I now need the app to close if an incoming call is received.
I can add code to onPause and close the activity and stop the mediaplayer. However this stops the app if any app is launched.
How can I detect an incoming call to check for inside onPause?
To detect the incoming call, we register a BroadcastReceiver for the
action android.intent.action.PHONE_STATE. This will be broadcasted
when there is a change in phone state. The receiving intent will have
an extra string variable TelephonyManager.EXTRA_STATE which describes
the phone state. If this state is TelephonyManager.EXTRA_STATE_RINGING
then there will be another extra string variable
TelephonyManager.EXTRA_INCOMING_NUMBER. This variable contains the
incoming phone number. Note that this variable will not be present
when the state is not TelephonyManager.EXTRA_STATE_RINGING.
source : http://www.androiddevblog.net/android/detecting-incoming-and-outgoing-calls-in-android
basically, once you register a broadcast receiver you can listen for the broadcast notification you are interested in your phone, and then act accordingly.
You do not have to. Android takes care of it pausing your app - you have to use telephony manager to determine whether to stop your aplication or not. Proper way would be to handle this in onPause() method