Приложение телефона тоже использует контакты ContentProvider
; Я не уверен, почему вы хотели бы избежать этого. Кроме того, это единственный общедоступный способ доступа к этой информации.
Преобразование числа в имя (в данном случае до 2.0) достаточно просто:
Uri uri = Uri.withAppendedPath(Phones.CONTENT_FILTER_URL, Uri.encode(number));
String name = null;
Cursor cursor = context.getContentResolver().query(uri,
new String[] { Phones.DISPLAY_NAME }, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
name = cursor.getString(cursor.getColumnIndex(Phones.DISPLAY_NAME));
cursor.close();
}