Удалить миниатюру по идентификатору - PullRequest
0 голосов
/ 21 марта 2012

Я использую код ниже, чтобы получить путь к фотографии и идентификатор:

String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA, MediaStore.Images.ImageColumns.DATA};  
Cursor cursor = managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, MediaStore.Images.Media._ID); 
int count = cursor.getCount();
int image_column_index = cursor.getColumnIndex(MediaStore.Images.Media._ID); 
int image_path_index = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
int i;
for(i = 0; i < count; i++) {
cursor.moveToPosition(i);
long id = cursor.getInt(image_column_index);
String p = cursor.getString(image_path_index);
photo.add(id, p);
}

И код ниже, чтобы получить миниатюру:

bitmap = MediaStore.Images.Thumbnails.getThumbnail(this.getApplicationContext().getContentResolver(), id, MediaStore.Images.Thumbnails.MICRO_KIND, null);

Пока я удаляю одну фотографию по ее пути.Миниатюра удаления все еще существует.Как удалить миниатюру одновременно?

1 Ответ

1 голос
/ 22 марта 2012

Вы должны иметь возможность использовать id из запроса изображений (столбец MediaStore.Images.Media._ID), а затем запросить MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, чтобы удалить миниатюру с MediaStore.Images.Thumbnails.IMAGE_ID, равным этому идентификатору (IMAGE_ID). такой же идентификатор, как идентификатор из MediaStore.Images.Media._ID).

long id = cursor.getInt(image_column_index); // this is the id from MediaStore.Images.Media._ID but also the IMAGE_ID from MediaStore.Images.Thumbnails

// if you delete the photo with this above id and also want to delete the thumbnail:
ContentResolver cr = getContentResolver(); // in an Activity
cr.delete(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
                MediaStore.Images.Thumbnails.IMAGE_ID + " = ?", new String[] {"" + id});

Я мало играл с MediaStore, так что это может быть неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...