Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo obtener la miniatura de Android Contact

Tengo un adaptador de listview y estoy intentando lo siguiente en el método newView :

 @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { final LayoutInflater inflater = LayoutInflater.from(context); View v = inflater.inflate(layout, parent, false); long contactId = Long.valueOf(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID))); String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); boolean hasPhone = Boolean.parseBoolean(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))); String thumbnailUri = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.PHOTO_THUMBNAIL_URI)); TextView name_text = (TextView) v.findViewById(R.id.name_entry); if (name_text != null) { name_text.setText(contactName); } name_text.setTag(new Contact(contactId, hasPhone)); ImageView thumbnail = (ImageView) v.findViewById(R.id.thumbnail); if (thumbnailUri != null) { thumbnail.setImageURI(Uri.parse(thumbnailUri)); } else { thumbnail.setImageResource(R.drawable.ic_launcher); } return v; } 

Pero cuando intento analizar el Uri que se almacena en thumbnailUri, recibo el error siguiente:

  • ¿Hay algún patrón en el método Random ()?
  • Impacto de usar Multidex en el rendimiento de la aplicación, estabilidad, compatibilidad ...?
  • Biblioteca ePub para java o android
  • Loop de vídeo sin problemas con VideoView
  • Selector de números de diálogo de Android
  • Cierre la aplicación y eliminar de las aplicaciones /
  •   08-09 01:58:38.619: I/System.out(1471): resolveUri failed on bad bitmap uri: content://com.android.contacts/contacts/1/photo 

    ¿Estoy haciendo esto de la manera equivocada? Cualquier ayuda sería muy apreciada!

  • Seleccione el primer elemento en ListView con Cursor Loader
  • ¿Cómo puedo diseñar una API / autenticación segura para aplicaciones móviles para acceder a un servicio?
  • ¿Existe alguna base de datos de información que enumera todos los dispositivos y especificaciones móviles?
  • Eventos de clics no registrados
  • Java.lang.IllegalStateException ¿qué significa?
  • Texto abajo RadioButtons
  • One Solution collect form web for “Cómo obtener la miniatura de Android Contact”

     private Uri getPhotoUriFromID(String id) { try { Cursor cur = getContentResolver() .query(ContactsContract.Data.CONTENT_URI, null, ContactsContract.Data.CONTACT_ID + "=" + id + " AND " + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE + "'", null, null); if (cur != null) { if (!cur.moveToFirst()) { return null; // no photo } } else { return null; // error in cursor process } } catch (Exception e) { e.printStackTrace(); return null; } Uri person = ContentUris.withAppendedId( ContactsContract.Contacts.CONTENT_URI, Long.parseLong(id)); return Uri.withAppendedPath(person, ContactsContract.Contacts.Photo.CONTENT_DIRECTORY); } 

    Esta es la función donde necesita pasar el identificador de contacto y obtendrá el URI de la imagen que puede establecer fácilmente en la vista de la imagen.

    Utilice la respuesta uri de esta función como imageView.setImageURI (uri)

    Espero que funcione para su código.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.