Cómo importar contactos de la agenda a nuestra aplicación

Estoy desarrollando la aplicación para Android, cuando el usuario haga clic en el botón, debe mostrar todos los contactos de la guía telefónica en una tabla. ¿Cómo puedo lograrlo? Cualquiera puede ayudarme. Gracias de antemano.

Si consulta el proveedor de contenido ContactsContract.Contacts , obtendrá el cursor con la lista de contactos.

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); startActivityForResult(intent, 1); 

Utilice este fragmento de código en la función button.setOnClick para obtener la visualización de todos los contactos en la guía telefónica

darle algunos códigos:

  ContentResolver cr = getContentResolver(); Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); while(cursor.moveToNext()){ //get name int nameFiledColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME); String contact = cursor.getString(nameFiledColumnIndex); String[] PHONES_PROJECTION = new String[] { "_id","display_name","data1","data3"};// String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID)); Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PHONES_PROJECTION, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null); //name type .. while(phone.moveToNext()) { int i = phone.getInt(0); String str = phone.getString(1); str = phone.getString(2); str = phone.getString(3); } phone.close(); //addr Cursor addrCur = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI , new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null); while(addrCur.moveToNext()) { int i = addrCur.getInt(0); String str = addrCur.getString(1); str = addrCur.getString(2); str = addrCur.getString(3); } addrCur.close(); //email Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI , new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null); while(emailCur.moveToNext()) { int i = emailCur.getInt(0); String str = emailCur.getString(1); str = emailCur.getString(2); str = emailCur.getString(3); } emailCur.close(); } cursor.close(); 

Puede usar este código dentro del botón.setonclicklistener.

Intent intennt = new Intent (Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult (intención, PICK_CONTACT);