2012-03-21 3 views
0

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

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); 

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

+0

Что такое 'фото'? Не можете ли вы использовать 'id', который вы получаете в цикле for, чтобы запросить поставщик« MediatStore.Images.Thumbnails »и удалить миниатюру? – Luksprog

+0

фото LinkedList . – brian

+0

Я не знаю, как получить миниатюрную позицию по id или удалить ее по id. – brian

ответ

1

Вы должны быть в состоянии использовать 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 так что это может быть не так.

Смежные вопросы