Obtener la ID de correo electrónico y el nombre de la guía telefónica integrada de android?
Estoy tratando de obtener el nombre y correo electrónico de identificación de Android libro de teléfono integrado en mi página, soy capaz de obtener el nombre, identificador de contacto, número de teléfono. Pero no puedo obtener el ID de correo electrónico de la guía telefónica de Android.
El código es:
public static final int PICK_CONTACT = 1; @Override button.setOnClickListener(new OnClickListener() { public void onClick(View _view) { Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent, PICK_CONTACT); } }); } @Override public void onActivityResult(int reqCode, int resCode, Intent data) { super.onActivityResult(reqCode, resCode, data); switch(reqCode) { case (PICK_CONTACT) : { if (resCode == Activity.RESULT_OK) { Uri contactData = data.getData(); Cursor c = managedQuery(contactData, null, null, null, null); c.moveToFirst(); String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); String name1 = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.HAS_PHONE_NUMBER)); String ContactID = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID)); if(Integer.parseInt(name1) == 1){ Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null, ContactsContract.CommonDataKinds.Email.CONTACT_ID+ " = " + ContactID, null, null); TextView tv = (TextView)findViewById(R.id.selected_contact_textview); TextView tv1 = (TextView)findViewById(R.id.selected_email_textview); tv.setText(name); tv1.setText(ContactID); } } break; } }
Aquí puedo obtener el nombre y el ID de contacto de una persona seleccionada de la agenda. Ahora quiero obtener el nombre y el correo electrónico de una persona seleccionada de la guía telefónica. ¿Cómo puedo conseguir esto?
- No se pueden eliminar elementos duplicados de arraylist de hashmap
- Android notifica cuando se actualiza la guía telefónica (Observador de contenido)
- En Android, ¿debe ejecutarse un adaptador de sincronización de contactos en un proceso independiente?
- Cómo seleccionar contactos exclusivos de android
- Obtenga los datos de contacto de la identificación de contacto en Android
- Acceder a los filtros de contactos
- Recuperar imagen predeterminada del contacto de Android
- ¿Cómo funcionan las columnas unidas implícitas con los datos de los contactos de Android?
- PhoneGap - sólo muestra contactos con números de teléfono
- Intención para contactos con número de teléfono
- Android: ¿Cómo importar el contacto desde el teléfono?
- Android: Cómo guardar contactos en sdcard como vCard. Sin duplicados?
- Obtener número del selector de contactos
Puede obtener la dirección de correo electrónico del contacto directamente utilizando el ID de contacto de la siguiente manera:
String selection = ContactsContract.CommonDataKinds.Email.CONTACT_ID + " =? "; String[] selectionArgs = new String[]{aContactId}; Cursor emailCursor = aContext.getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, selection, selectionArgs, null); while (!emailCursor.isAfterLast()) { emailString = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); // do something with email string emailCursor.moveToNext(); } emailCursor.close ();