Stay organized with collections
Save and categorize content based on your preferences.
public
static
final
class
ContactsContract.Contacts.Photo
extends Object
implements
BaseColumns,
ContactsContract.DataColumnsWithJoins
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 ContactsContract.Contacts.CONTENT_URI
or
ContactsContract.Contacts.CONTENT_LOOKUP_URI
.
Summary
Inherited constants |
|
|
|
|
|
From interface
android.provider.ContactsContract.DataColumns
String |
CARRIER_PRESENCE
This constant was deprecated
in API level 31.
The contacts database will only show presence
information on devices where
CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL is true,
otherwise use RcsUceAdapter .
|
int |
CARRIER_PRESENCE_VT_CAPABLE
This constant was deprecated
in API level 31.
Same as DataColumns.CARRIER_PRESENCE .
|
String |
DATA1
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA10
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA11
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA12
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA13
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA14
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA15
Generic data column, the meaning is MIMETYPE specific.
|
String |
DATA2
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA3
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA4
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA5
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA6
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA7
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA8
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA9
Generic data column, the meaning is MIMETYPE specific
|
String |
DATA_VERSION
The version of this data record.
|
String |
IS_PRIMARY
Whether this is the primary entry of its kind for the raw contact it belongs to.
|
String |
IS_READ_ONLY
The "read-only" flag: "0" by default, "1" if the row cannot be modified or
deleted except by a sync adapter.
|
String |
IS_SUPER_PRIMARY
Whether this is the primary entry of its kind for the aggregate
contact it belongs to.
|
String |
MIMETYPE
The MIME type of the item represented by this row.
|
String |
PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME
The flattened ComponentName of a PhoneAccountHandle that is the preferred PhoneAccountHandle to
call the contact with.
|
String |
PREFERRED_PHONE_ACCOUNT_ID
The ID of a PhoneAccountHandle that is the preferred PhoneAccountHandle to
call the contact with.
|
String |
RAW_CONTACT_ID
A reference to the RawContacts._ID
that this data belongs to.
|
String |
RES_PACKAGE
The package name to use when creating Resources objects for
this data row.
|
String |
SYNC1
Generic column for use by sync adapters.
|
String |
SYNC2
Generic column for use by sync adapters.
|
String |
SYNC3
Generic column for use by sync adapters.
|
String |
SYNC4
Generic column for use by sync adapters.
|
|
|
|
|
Inherited methods |
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this object.
|
boolean
|
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
void
|
finalize()
Called by the garbage collector on an object when garbage collection
determines that there are no more references to the object.
|
final
Class<?>
|
getClass()
Returns the runtime class of this Object .
|
int
|
hashCode()
Returns a hash code value for the object.
|
final
void
|
notify()
Wakes up a single thread that is waiting on this object's
monitor.
|
final
void
|
notifyAll()
Wakes up all threads that are waiting on this object's monitor.
|
String
|
toString()
Returns a string representation of the object.
|
final
void
|
wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted, or until a
certain amount of real time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until it is awakened, typically
by being notified or interrupted.
|
|
Constants
CONTENT_DIRECTORY
public static final String CONTENT_DIRECTORY
The directory twig for this sub-table
Constant Value:
"photo"
DISPLAY_PHOTO
public static final String DISPLAY_PHOTO
The directory twig for retrieving the full-size display photo.
Constant Value:
"display_photo"
PHOTO
public static final String PHOTO
Thumbnail photo of the raw contact. This is the raw bytes of an image
that could be inflated using BitmapFactory
.
Type: BLOB
Constant Value:
"data15"
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-01-23 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-01-23 UTC."],[],[]]