Photo
class Photo : BaseColumns, ContactsContract.DataColumnsWithJoins
kotlin.Any | |
↳ | android.provider.ContactsContract.Contacts.Photo |
A read-only sub-directory of a single contact that contains the contact's primary photo. The photo may be stored in up to two ways - the default "photo" is a thumbnail-sized image stored directly in the data row, while the "display photo", if present, is a larger version stored as a file.
Usage example:
- Retrieving the thumbnail-sized photo
-
public InputStream openPhoto(long contactId) { Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); Uri photoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.CONTENT_DIRECTORY); Cursor cursor = getContentResolver().query(photoUri, new String[] {Contacts.Photo.PHOTO}, null, null, null); if (cursor == null) { return null; } try { if (cursor.moveToFirst()) { byte[] data = cursor.getBlob(0); if (data != null) { return new ByteArrayInputStream(data); } } } finally { cursor.close(); } return null; }
- Retrieving the larger photo version
-
public InputStream openDisplayPhoto(long contactId) { Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId); Uri displayPhotoUri = Uri.withAppendedPath(contactUri, Contacts.Photo.DISPLAY_PHOTO); try { AssetFileDescriptor fd = getContentResolver().openAssetFileDescriptor(displayPhotoUri, "r"); return fd.createInputStream(); } catch (IOException e) { return null; } }
You may also consider using the convenience method ContactsContract.Contacts#openContactPhotoInputStream(ContentResolver, Uri, boolean)
to retrieve the raw photo contents of either the thumbnail-sized or the full-sized photo.
This directory can be used either with a CONTENT_URI
or CONTENT_LOOKUP_URI
.
Summary
Constants | |
---|---|
static String |
The directory twig for this sub-table |
static String |
The directory twig for retrieving the full-size display photo. |
static String |
Thumbnail photo of the raw contact. |
static String |
Full-size photo file ID of the raw contact. |
Inherited constants | |
---|---|
Constants
CONTENT_DIRECTORY
static val CONTENT_DIRECTORY: String
The directory twig for this sub-table
Value: "photo"
DISPLAY_PHOTO
static val DISPLAY_PHOTO: String
The directory twig for retrieving the full-size display photo.
Value: "display_photo"
PHOTO
static val PHOTO: String
Thumbnail photo of the raw contact. This is the raw bytes of an image that could be inflated using android.graphics.BitmapFactory
.
Type: BLOB
Value: "data15"
PHOTO_FILE_ID
static val PHOTO_FILE_ID: String
Full-size photo file ID of the raw contact. See ContactsContract.DisplayPhoto
.
Type: NUMBER
Value: "data14"