Lista de contactos de Android

¿Puede alguien arrojar una luz sobre cómo obtener la lista de contactos de android ?.

Sólo quiero obtener la misma lista que en la aplicación de marcador. Pero estoy recibiendo un montón de contactos que no están en la lista de marcador con el código de abajo.

ContentResolver cr = getContentResolver(); Cursor cursor = cr.query(Contacts.People.CONTENT_URI, null, null, null, Contacts.ContactMethods.DEFAULT_SORT_ORDER); startManagingCursor(cursor); 

Gracias por adelantado.

Pruebe este fragmento:

 import android.app.ListActivity; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.provider.ContactsContract.CommonDataKinds.Phone; import android.widget.SimpleCursorAdapter; public class ContactList extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER}, null, null, null); startManagingCursor(cursor); String[] from = new String[] { Phone.DISPLAY_NAME, Phone.NUMBER}; int[] to = new int[] { R.id.name_entry, R.id.number_entry}; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.list_entry, cursor, from, to); this.setListAdapter(adapter); } } 

El archivo XML es:

List_entry.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="6dip"> <TextView android:id="@+id/name_entry" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:gravity="center_vertical" android:textSize="18dip"/> <TextView android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" android:id="@+id/number_entry" android:singleLine="true" android:ellipsize="marquee" android:textSize="18dip"/> </LinearLayout> 

Lo que tienes parece bien. ¿Podría elaborar sobre "obtener un montón de contactos que no están en la lista de marcadores"? ¿Es que Android está inventando gente? ¿O es que estás viendo a personas con direcciones de correo electrónico pero sin números de teléfono (que por lo tanto, puede que no aparezcan en el Dialer)?

Tenga en cuenta que Contacts.People es para Android 1.6 y posterior. Ese proveedor está obsoleto a partir de Android 2.0, reemplazado por el conjunto de proveedores ContactsContract .

Esta es la implementación básica de la actividad de la lista de contactos de android.

Bueno, gracias por la respuesta primero. Sólo para arrojar una luz sobre esto.

Sólo quería recibir mensajes de correo electrónico sólo para los contactos de mi teléfono. El grupo "MyContacts". Vi que este es el grupo de ContactList Actividad usa.

Terminé de hacer algo así:

 c = cr.query(myGroupUri, mEmailsProjection, null, null, null); .... c.close(); c = cr.query( Contacts.ContactMethods.CONTENT_URI, mContactsProjection, contactIds, null, null ); .... c.close(); 

Sólo preguntó el grupo primero y luego la tabla de correos electrónicos.

Intenta usar la intención de ir a la lista de contactos

  startActivityForResult( new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI),1);} 
  • Lista sin fin de Android
  • ¿Cómo puedo cambiar el aspecto del cuadro de diálogo ListPreference?
  • Java (Android) reordenando una lista de objetos
  • Android: patrón de ViewHolder y diferentes tipos de filas?
  • Convertir lista a matriz en Java
  • Iconos en un diálogo de lista
  • Obtener la lista de aplicaciones de Android instaladas
  • El clic de Listitem no funciona con las casillas de verificación Android
  • Cómo borrar caché de Android
  • Tipo de lista para almacenar tipos de datos Multipe
  • Parcel Lista de Lista de objeto Parcelable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.