Estoy usando la antigua API de contactos para elegir un contacto con un número de teléfono. Quiero usar la nueva API ContactsContracts. Quiero ...¿Cómo puedo elegir un número de teléfono con el cuadro de diálogo de contactos de Android
- ... un cuadro de diálogo que se muestra con todos los contactos que tienen números de teléfono.
- ... el usuario para elegir un contacto Y uno de sus números de teléfono.
- ... acceso al número de teléfono elegido.
ContactsContracts es muy complicado. Encontré muchos ejemplos, pero ninguno que se ajuste a mis necesidades. No quiero elegir un contacto y luego consultar los detalles del contacto porque esto me dará una lista de sus números de teléfono. Necesito que el usuario elija UNO de los números de teléfono del contacto. No quiero tener que escribir mis propios cuadros de diálogo para mostrar los contactos o hacer que el usuario elija un número de teléfono. ¿Hay alguna manera simple de obtener lo que quiero?
Aquí es el código de la API de edad que estoy usando:
static public final int CONTACT = 0;
...
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.Phones.CONTENT_URI);
startActivityForResult(intent, CONTACT);
...
public void onActivityResult (int requestCode, int resultCode, Intent intent) {
if (resultCode != Activity.RESULT_OK || requestCode != CONTACT) return;
Cursor c = managedQuery(intent.getData(), null, null, null, null);
if (c.moveToFirst()) {
String phone = c.getString(c.getColumnIndexOrThrow(Contacts.Phones.NUMBER));
// yay
}
}
hay un número suficiente de interrogación en SO para el mismo. – st0le
posible duplicado de [¿Cómo llamar a la lista de contactos de Android?] (Http://stackoverflow.com/questions/866769/how-to-call-android-contacts-list) – st0le
Las otras preguntas eligen un contacto, no lo hacen elige un número de teléfono – NateS