Shadab Khan
Shadab Khan

Reputation: 97

Restart android app on incoming call

I am making an app in which I want to start a service as soon as there is an incoming call. What are the various ways to do this in android? I know broadcast receiver is one way, but I couldn't find any broadcast intent for incoming phone call.

Upvotes: 1

Views: 315

Answers (1)

Emil
Emil

Reputation: 2806

Use action PHONE_STATE to detect incoming calls..

add this to manifest

 <receiver android:name="com.example.YourReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>

And your receiver

public class YourReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

    if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING)) {
        // This code will execute when the phone has an incoming call



    } else if (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
            TelephonyManager.EXTRA_STATE_IDLE)
            || intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(
                    TelephonyManager.EXTRA_STATE_OFFHOOK)) {
        // This code will execute when the call is disconnected


    }
}
}

Upvotes: 2

Related Questions