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.
- Obtener la lista de lugares WiFi disponibles
- Visibilidad de vista para Android en ListAdapter
- Buenas prácticas para ordenar una lista con una de las cuatro reglas
- Android: diseño de vista personalizada para SectionIndexer e inhabilitación de SectionIndexer sobre la marcha
- ¿Ordenar nombres en una lista alfabéticamente?
ContentResolver cr = getContentResolver(); Cursor cursor = cr.query(Contacts.People.CONTENT_URI, null, null, null, Contacts.ContactMethods.DEFAULT_SORT_ORDER); startManagingCursor(cursor);
Gracias por adelantado.
- Android: ¿Cómo poner un archivo de imagen de la tarjeta SD a HashMap con simpleadapter?
- ListFragment no muestra cambios en el tiempo actual
- Detectar si el contenido de EditText fue modificado por el usuario o por programa?
- Cómo actualizar el contenido de una sola fila en mi ListView utilizando OnItemClick
- Obtener la lista de contactos pertenecientes a un grupo específico
- Lista de reproducción de Youtube mostrada en ListView
- Inflar una vista varias veces en el mismo padre cuando se hace clic en un botón
- Intenta invocar el método de interfaz 'boolean java.util.List.add (java.lang.Object)' en una referencia de objeto nulo
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);}
- ¿Existe un límite en el número de líneas de código que puede poner en un doublaje de Eclipse java
- Establecer lista de animación de android por programación