Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android dialer application

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.

like image 721
ingsaurabh Avatar asked Feb 17 '11 12:02

ingsaurabh


People also ask

What is the Android dialer app?

Dialer is an Android system application that provides a distraction-optimized (DO) experience for Bluetooth calling, contact browsing, and call management. A fully functional implementation of Dialer is provided in the Android Open Source Project (AOSP).

Can I change dialer app on Android?

Tap Apps & Notifications. Tap Advanced. Tap Default Apps. Under Default Apps, you will find 'Phone App' which you can tap to change the default.


1 Answers

  1. 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);     } } 
  2. Give your application permission to call in AndroidManifest

    <uses-permission android:name="android.permission.CALL_PHONE" /> 
  3. 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> 
like image 153
zirael Avatar answered Sep 23 '22 11:09

zirael