Estoy tratando de recuperar los nombres de contacto dado el número de teléfono de contacto. Hice una función que debería funcionar en todas las versiones de API, por lo que no puedo hacer que funcione en 1.6 y no puedo ver el problema, tal vez alguien puede detectarlo.Obtener el nombre de contacto dado un número de teléfono en Android
Tenga en cuenta que he reemplazado las constantes de la API por cadenas, por lo que no tengo problemas de advertencia obsoletos.
public String getContactName(final String phoneNumber)
{
Uri uri;
String[] projection;
if (Build.VERSION.SDK_INT >= 5)
{
uri = Uri.parse("content://com.android.contacts/phone_lookup");
projection = new String[] { "display_name" };
}
else
{
uri = Uri.parse("content://contacts/phones/filter");
projection = new String[] { "name" };
}
uri = Uri.withAppendedPath(uri, Uri.encode(phoneNumber));
Cursor cursor = this.getContentResolver().query(uri, projection, null, null, null);
String contactName = "";
if (cursor.moveToFirst())
{
contactName = cursor.getString(0);
}
cursor.close();
cursor = null;
return contactName;
}
No soporte 1.6 más! http://developer.android.com/resources/dashboard/platform-versions.html. Representa solo el 2,2% de la base de usuarios actual y ese número se reducirá, reducirá o disminuirá. Puede que nunca llegue a cero, pero eso es solo por rezagos tecnológicos que de todos modos no van a escuchar acerca de su nueva aplicación. No pierdas tu tiempo! –
Para la comodidad de otros, he escrito una publicación que contiene todo el código para consultar el nombre, la foto, la identificación de contacto, etc. con una explicación decente. El código contiene fragmentos que se encuentran en diferentes respuestas, pero más organizados y probados. Enlace: http://hellafun.weebly.com/home/get-information-of-a-contact-from-number – Usman