Что ж, поиск имени в ваших контактах может вернуть более одного контакта (например, если у вас несколько контактов с именем «Давид»), а также у одного контакта может быть несколько телефонов, поэтому вы не знаете, какой из нихзвоните.
Если вы игнорируете эти две проблемы и просто хотите выбрать первые подходящие контакты случайным образом и использовать первый подходящий телефон, попробуйте следующее:
String searchedName = "David";
String[] projection = { Phone.NUMBER };
String selection = Phone.DISPLAY_NAME + " LIKE %" + searchedName + "%";
Cursor cur = getContentResolver().query(Phone.CONTENT_URI, projection, selection, null, null);
if (cur.moveToFirst()) {
String number = cur.getString(0);
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + number));
startActivity(intent); // requires permission "android.permission.CALL_PHONE" in AndroidManifest
} else {
Log.w("CALL", "contact " + searchedName + " wasn't found");
}
cur.close();