Получить идентификатор из фото при сохранении
В моем приложении я ловлю фотографию и сохраняю ее на мобильном телефоне.
Вот как я это делаю:
private void takePic() {
ContentValues values = new ContentValues();
String TITLE = null;
values.put(MediaColumns.TITLE, TITLE);
String DESCRIPTION = null;
values.put(ImageColumns.DESCRIPTION, DESCRIPTION);
values.put(MediaColumns.MIME_TYPE, "image/jpeg");
imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, IMAGE_CAPTURE);
}
Моя проблема сейчас в том, что позже я хочу получить миниатюру этой картинки, чтобы показать миниатюру в моем ListView. Есть ли способ получить идентификатор фотографии, которую я сделал, и сохранить ее на свой Intent
или как то так?
1 ответ
Вы можете попробовать это, сделав запрос MediaStore.Images.Media.DATA
для Media Uri, который у вас есть вместо этого в MediaStore Content Provider
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK ){
if(requestCode == IMAGE_CAPTURE){
// get Media Uri from data
Uri media_uri = data.getData();
String[] column = {MediaStore.Images.Media._ID};
Cursor cursor = getContentResolver().query(media_uri, column,
null, null, null);
cursor.moveToFirst();
if(cursor.getCount()>0){
int Media_ID = cursor.getInt(cursor
.getColumnIndex(MediaStore.MediaColumns._ID));
//... store media ID here..
}
cursor.close();
}
}
}