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-02-10 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-02-10 UTC."],[],[]]