2012-08-23 38 views
5

Por favor, ¿es posible elegir desde los contactos solo con número (s) de teléfono usando la aplicación de contactos predeterminados y por defecto?Intención de contactos con el número de teléfono

Tal vez alguna modificación de este (muestra la selección de todos los contactos):

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, CONTACT_PICKER_ID); 

Respuesta

7
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); 
startActivityForResult(intent, 1); 
3

Puede abrir un cursor en los contactos y ejecutar a través de conseguir los contactos con números de teléfono. Se podía recrear la actividad de contacto selector que se muestra de la intención que mencionado con utilización de este cursor (tirarlos en una vista de lista para elegir)

 ContentResolver cr = getContentResolver(); 
     Cursor phoneCur = cr.query( 
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       null, 
       null, 
       null, 
       null); 
     while (phoneCur.moveToNext()) { 
      String phone = phoneCur.getString(
         phoneCur.getColumnIndex(
           ContactsContract.CommonDataKinds.Phone.DATA)); 
      //do something, check if empty... 
     } 
     phoneCur.close(); 

con este enfoque también necesitará el permiso de contacto de lectura en el que manifiestas

<uses-permission android:name="android.permission.READ_CONTACTS"/> 
+0

No era exactamente una solución que estaba esperando. Pero supongo que no hay otra manera, ¿verdad? Así que estoy aceptando esta respuesta, gracias. –

+0

Lo siento, no sé de otra manera, pero lo actualizaré si encuentro uno. –

Cuestiones relacionadas