Android dialer application

android, phone-call

Solution

Create a simple Android application (our dialer). To actually call someone, you just need that method:

private void performDial(String numberString) {
    if (!numberString.equals("")) {
       Uri number = Uri.parse("tel:" + numberString);
       Intent dial = new Intent(Intent.ACTION_CALL, number);
       startActivity(dial);
    }
}

Give your application permission to call in AndroidManifest

<uses-permission android:name="android.permission.CALL_PHONE" />

Set in AndroidManifest intention that says to your phone to use your app when need a dialer

When someone press the call button:

    <intent-filter>
        <action android:name="android.intent.action.CALL_BUTTON" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

When someone fire an URI:

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <action android:name="android.intent.action.DIAL" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="tel" />
    </intent-filter>

Problem

I am figuring out a way to replace the default dialer application from my custom dialer application, but I am not getting how to achieve this. Here is what I want - Create a custom dialer UI - My application is called whenever call button hardware or that one in Android is pressed - The application can also be called from the contact screen I am referring to public static final String ACTION_DIAL.

Original source

Related problems