我之前拍摄的图像是在画廊中出现的,但现在它们不是,我无法弄清楚原因.这是我的代码:
ContentValues values = new ContentValues(); values.put(androID.provIDer.MediaStore.Images.Media.IS_PRIVATE, false); String name = "ugc_" + String.valueOf(System.currentTimeMillis()); values.put(androID.provIDer.MediaStore.Images.Media.Title, name); imageURI = getContentResolver().insert(androID.provIDer.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
我也尝试过:
values.put(androID.provIDer.MediaStore.Images.Media.IS_PRIVATE,0);
以及留在那个价值,但现在似乎没有任何作用.
解决方法:
非常不漂亮,但这就是我这样做的方式.请注意,due to a bug,保存的文件是全分辨率的1/16(每个维度的1/4).
String SD_CARD_TEMP_DIR = Environment.getExternalStorageDirectory() + file.separator + "tmpPhoto.jpg";Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);takePictureFromCameraIntent.putExtra(androID.provIDer.MediaStore.EXTRA_OUTPUT, Uri.fromfile(new file(SD_CARD_TEMP_DIR)));startActivityForResult(takePictureFromCameraIntent, TAKE_PICTURE_WITH_CAMERA);
.
.
.
public voID onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // Picture taken from camera if (requestCode == TAKE_PICTURE_WITH_CAMERA) { if (resultCode == Activity.RESulT_OK) { // http://code.Google.com/p/androID/issues/detail?ID=1480 //Toast.makeText(AddPhotos.this, "" + data, Toast.LENGTH_SHORT).show(); // on activity return file f = new file(SD_CARD_TEMP_DIR); try { Uri capturedImage = Uri.parse(androID.provIDer.MediaStore.Images.Media.insertimage(getContentResolver(), f.getabsolutePath(), null, null)); Log.i("camera", "Selected image: " + capturedImage.toString()); f.delete(); } catch (fileNotFoundException e) { // Todo auto-generated catch block e.printstacktrace(); } } else { Log.i("Camera", "Result code was " + resultCode); } } }
总结 以上是内存溢出为你收集整理的如何在Android中捕获图像并将其显示在图库中?全部内容,希望文章能够帮你解决如何在Android中捕获图像并将其显示在图库中?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)