Unfortunately (or really not) you can't. This is security measure. You can't directly open some app, because in 70% cases (just my results after testing) it will give you Security error.
Some clarification
As mentioned in comments you can define package in Intent. But it's really unhealthy behavior. For example
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setType("message/rfc822");
sendIntent.setData(Uri.parse("test@gmail.com"));
sendIntent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");
sendIntent.putExtra(Intent.EXTRA_EMAIL, getSelectedContactsEmails().toArray());
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "subj");
sendIntent.putExtra(Intent.EXTRA_TEXT, "text");
startActivityForResult(sendIntent,0);
This code will call directly GMail app. But it have unpredictable behavior . In my case I got crash on one Nexus 5, but all worked on another one. Also you need to add additional code to ensure, that package is installed.
In your case you need to call some phone app. Do you know Android device fragmentation? There are 10000+ different devices and all of them can have different packages for calling. So do you really need it?
In fact there is even special method, that will handle selection of app you need by system
startActivity(Intent.createChooser(emailIntent, "Send mail via ...")); //example
This code won't get you Security error ever, because user actions are perceived by system "as a truth"
Clarification 2
Yes, you can cycle through all packages that can accept your intent. Yes, you can even call random(or pre-defined) package and yes, it might work is some cases. But some doesn't mean all and there is a problem. And if there any chance that app will crash on some device, you need to avoid it by any means.