在我的应用程序中,我抓住了一张照片并将其保存在手机上。
我就是这样做的:
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中显示缩略图。有没有办法获取我拍摄的照片的ID并将其保存到我的Intent
或类似的东西?
答案 0 :(得分:2)
您可以通过在MediaStore内容提供商中为Media Uri查询MediaStore.Images.Media.DATA
来尝试此操作
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();
}
}
}