0

Android: How to show a list of dialer app installed on my device instead of directly calling default dialer

Intent intent = new Intent(Intent.ACTION_CALL);
startActivity(intent); 

permission -

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

So with this code the deault dialer app gets called. I want the behavior where Android suggest me the list of apps that could be used for calling feature.

Jaiprakash Soni
  • 4,100
  • 5
  • 36
  • 67
Avijeet
  • 1,031
  • 1
  • 10
  • 27

1 Answers1

4

You can not show list of dialer while using ACTION_CALL intent.

You need a special permission because the ACTION_CALL is a protected action, allow you to call a phone number directly, with no interaction from the user.

You can make Intent chooser for ACTION_DIAL intent which allows you to show list of apps which has dialer. You can use this code.

final Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.fromParts("tel", "123456", null));
startActivity(Intent.createChooser(intent, ""), REQUEST_CODE));

I hope it helps!

Rajesh Jadav
  • 12,801
  • 5
  • 53
  • 78
  • ACTION_DIAL helps, but I still just get two apps in list. Namely Phone and Hello Dialer. I want to see skype and other VoIP apps as well. Is there some other permission for that ? – Avijeet Aug 17 '15 at 07:34
  • There are different uri scheme like tel for normal call, skype for skype phone call and sip for voip call. currently we have passed tel scheme to intent so voip and skype will not shown in list. – Rajesh Jadav Aug 17 '15 at 07:39