我是一名初学者android开发人员。我制作了一个android应用程序,可以将照片拍照并保存到我的画廊中。但是,一旦我拍摄了第二张照片,它就会覆盖第一张照片。这是我的代码。

static final int REQUEST_IMAGE_CAPTURE = 1;
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 0;
public void onClickbtnCamera(View v)
{
    Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date(0));
    Uri uriSavedImage=Uri.fromFile(new File("/storage/emulated/0/DCIM/Camera","QR_"+timeStamp+ ".png"));
    imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
    startActivityForResult(imageIntent, 1);
}


基本上,我每次拍摄照片时都需要QR添加一个数字,例如第一张照片(QR_)第二张照片(QR_1)第三张照片(QR_2)。谢谢

最佳答案

尝试将new Date(0)更改为new Date()

您始终使用1970年1月1日创建时间戳,这意味着它们总是一样。进行此更改后,您将始终使用当前时间戳。只要您不在同一秒内生成两张图片,它们就不会冲突。

(如果您担心拍照速度会比每秒快一秒,则可以在日期格式中始终加上毫秒。)

07-25 22:20
查看更多