Изменение изображения контакта на большую фотографию с помощью PHOTO_FILE_ID в Android

Кажется, это работает для небольших изображений:

ContentValues values = new ContentValues();

values.put(ContactsContract.Data.RAW_CONTACT_ID, id);
values.put(ContactsContract.Data.IS_SUPER_PRIMARY, 1);
values.put(ContactsContract.CommonDataKinds.Photo.PHOTO, photo);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE);
if (photoRow >= 0) {
    context.getContentResolver().update(ContactsContract.Data.CONTENT_URI, values, ContactsContract.Data._ID + " = " + photoRow, null);
} else {
    context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
}

Отдокументы Я понимаю, что для больших изображений мне нужно установить PHOTO_FILE_ID, чтобы я мог заменить:

ContactsContract.CommonDataKinds.Photo.PHOTO

с:

ContactsContract.CommonDataKinds.Photo.PHOTO_FILE_ID

Однако тогда мне нужно предоставить PHOTO_FILE_ID, а не необработанные данные. Мой вопрос:

Как сохранить фотографию (байт []) и получить PHOTO_FILE_ID?Если фотография уже доступна (ФОТО не PHOTO_FILE_ID). Нужно ли удалять его, чтобы было видно большое изображение, или же большое изображение имеет приоритет, если нет, как его удалить?

Ответы на вопрос(4)

Ваш ответ на вопрос