我是初学者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)。感谢
答案 0 :(得分:4)
尝试将new Date(0)
更改为new Date()
。
您始终使用1970年1月1日创建时间戳,这意味着它们总是相同。通过此更改,您将始终使用当前时间戳。只要你不在同一秒内制作两张图片,他们就不会发生冲突。
(如果您担心拍摄的照片速度超过每秒一张,则您的日期格式总是可以包含毫秒数。)
答案 1 :(得分:0)
如果没有,则每次都要确保时间戳是不同的,然后使用任意随机算法生成随机字符串并附加到时间戳。