| java.lang.Object | |
| ↳ | android.provider.ContactsContract.StreamItemPhotos |
Constants for the stream_item_photos table, which contains photos associated with social stream updates.
Access to social stream photos requires additional permissions beyond the read/write contact permissions required by the provider. Querying for social stream photos requires android.permission.READ_SOCIAL_STREAM permission, and inserting or updating social stream photos requires android.permission.WRITE_SOCIAL_STREAM permission.
Social stream photo entries are associated with a social stream item. Photos can be inserted into a social stream item in a couple of ways:
CONTENT_DIRECTORY sub-path of a
stream item:
ContentValues values = new ContentValues();
values.put(StreamItemPhotos.SORT_INDEX, 1);
values.put(StreamItemPhotos.PHOTO, photoData);
Uri photoUri = getContentResolver().insert(Uri.withAppendedPath(
ContentUris.withAppendedId(StreamItems.CONTENT_URI, streamItemId)
StreamItems.StreamItemPhotos#CONTENT_DIRECTORY), values);
long photoId = ContentUris.parseId(photoUri);
CONTENT_PHOTO_URI URI:ContentValues values = new ContentValues(); values.put(StreamItemPhotos.STREAM_ITEM_ID, streamItemId); values.put(StreamItemPhotos.SORT_INDEX, 1); values.put(StreamItemPhotos.PHOTO, photoData); Uri photoUri = getContentResolver().insert(StreamItems.CONTENT_PHOTO_URI, values); long photoId = ContentUris.parseId(photoUri);
Updates can only be made against a specific ContactsContract.StreamItems.StreamItemPhotos entry,
identified by both the stream item ID it belongs to and the stream item photo ID.
This can be specified in two ways.
CONTENT_DIRECTORY sub-path of a
stream item:
ContentValues values = new ContentValues();
values.put(StreamItemPhotos.PHOTO, newPhotoData);
getContentResolver().update(
ContentUris.withAppendedId(
Uri.withAppendedPath(
ContentUris.withAppendedId(StreamItems.CONTENT_URI, streamItemId)
StreamItems.StreamItemPhotos#CONTENT_DIRECTORY),
streamItemPhotoId), values, null, null);
CONTENT_PHOTO_URI URI:ContentValues values = new ContentValues(); values.put(StreamItemPhotos.STREAM_ITEM_ID, streamItemId); values.put(StreamItemPhotos.PHOTO, newPhotoData); getContentResolver().update(StreamItems.CONTENT_PHOTO_URI, values);
CONTENT_DIRECTORY sub-path of a stream item:
getContentResolver().delete(
ContentUris.withAppendedId(
Uri.withAppendedPath(
ContentUris.withAppendedId(StreamItems.CONTENT_URI, streamItemId)
StreamItems.StreamItemPhotos#CONTENT_DIRECTORY),
streamItemPhotoId), null, null);
getContentResolver().delete(
Uri.withAppendedPath(
ContentUris.withAppendedId(StreamItems.CONTENT_URI, streamItemId)
StreamItems.StreamItemPhotos#CONTENT_DIRECTORY), null, null);
Cursor c = getContentResolver().query(
ContentUris.withAppendedId(
Uri.withAppendedPath(
ContentUris.withAppendedId(StreamItems.CONTENT_URI, streamItemId)
StreamItems.StreamItemPhotos#CONTENT_DIRECTORY),
streamItemPhotoId), null, null, null, null);
Cursor c = getContentResolver().query(
Uri.withAppendedPath(
ContentUris.withAppendedId(StreamItems.CONTENT_URI, streamItemId)
StreamItems.StreamItemPhotos#CONTENT_DIRECTORY),
null, null, null, StreamItemPhotos.SORT_INDEX);
PHOTO_FILE_ID and a
PHOTO_URI. The PHOTO_FILE_ID
can be used in conjunction with the ContactsContract.DisplayPhoto API to
retrieve photo content, or you can open the PHOTO_URI as
an asset file, as follows:
public InputStream openDisplayPhoto(String photoUri) {
try {
AssetFileDescriptor fd = getContentResolver().openAssetFileDescriptor(photoUri, "r");
return fd.createInputStream();
} catch (IOException e) {
return null;
}
}
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| String | PHOTO | The binary representation of the photo. |
|||||||||
|
[Expand]
Inherited Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From interface
android.provider.BaseColumns
| |||||||||||
From interface
android.provider.ContactsContract.StreamItemPhotosColumns
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
The binary representation of the photo. Any size photo can be inserted; the provider will resize it appropriately for storage and display.
This is only intended for use when inserting or updating a stream item photo.
To retrieve the photo that was stored, open PHOTO_URI
as an asset file.
Type: BLOB