我是一名初学者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日创建时间戳,这意味着它们总是一样。进行此更改后,您将始终使用当前时间戳。只要您不在同一秒内生成两张图片,它们就不会冲突。
(如果您担心拍照速度会比每秒快一秒,则可以在日期格式中始终加上毫秒。)