如何获取相机意图保存多个图像?

时间:2011-03-14 15:52:05

标签: android android-camera-intent

我有一个问题。我正在使用从这样的菜单按钮开始的相机意图

case R.id.camera:           
        final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT,
                Uri.fromFile(getTempFile(this)));           
        startActivityForResult(intent, TAKE_PHOTO_CODE); 
        return true;

这工作得很好,它保存了原始图像(我想要的原始尺寸)。

比我还有以下代码

private File getTempFile(LovneDobe lovneDobe) {
    final File path = new File( Environment.getExternalStorageDirectory(), lovneDobe.getPackageName() );
    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
      if(!path.exists()){
        path.mkdir();
      }
      return new File(path, "image.jpg");
}

此代码将图片保存在SD卡上,并将其放入我的图库中。但我面临的问题是它只能保存一张图片。当我拿另一个时,它会覆盖前一个。 而现在我的问题是如何修改它以便它可以保存我将拍摄的每张照片?

提前感谢愿意提供帮助的任何人。

1 个答案:

答案 0 :(得分:1)

我很确定这是因为你明确地覆盖了该文件。在您的方法“getTempFile”中,每次调用方法时,总是给出相同的路径和名称。例如,尝试使用静态计数器来了解您已完成的图片数量,并在返回时添加类似

的内容
           return new File(path, "image"+counter+".jpg");