可能重复 Stop saving photos using Android native camera
大家好, 我是这样使用Intent打开相机的
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, ACTIVITY_CAMERA);
很好,给我的结果很完美,但问题是这会将图像保存到SD卡中,如何防止这种情况停止保存图像并将该数据用于onActivityResult()
方法
答案 0 :(得分:1)
我不确定但是试试看。它可能对你有帮助。
onActivityResult我正在拍摄图像,然后将其存储到另一个位图中。
见:
if(resultCode == RESULT_OK && requestCode==TAKE_PHOTO_CODE){
final File file = getTempFile(this);
try {
tempBitmap = Media.getBitmap(getContentResolver(), Uri.fromFile(file));
photoBitmap = Bitmap.createScaledBitmap(tempBitmap, display.getWidth(), display.getHeight(), true);
takePhotoFromCamera = true;
// do whatever you want with the bitmap (Resize, Rename, Add To Gallery, etc)
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
现在,您可以在将文件带到位图后将其删除。所以它可能没有保存到SD卡。
试试吧。希望它会对你有所帮助。
或。 。 。
使用此:
代码获取用户拍摄的最后一张照片:
String[] projection = new String[]
{MediaStore.Images.ImageColumns._ID, MediaStore.Images.ImageColumns.DATA,
MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
DATE_TAKEN, MediaStore.Images.ImageColumns.MIME_TYPE};
final Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, null, null, DATE_TAKEN + " DESC");
获取该图像后,将其删除。所以它会对你有帮助。
享受。 :))