Android New Image在文件名的末尾有奇怪的数字

ntg*_*ner 2 android

我正在android中编写一个camera2应用程序,当我尝试保存图像时,有些东西会在'.jpg'之前的文件名末尾添加额外的数字

我有一种感觉,因为这个createTempFile()方法,但这是我的代码:

File createImageFile() throws IOException {
    ++image_id;
    String timestamp = new SimpleDateFormat("yyyyMMdd").format(new Date());
    String subFolder = "";
    if(pref_session_unique_gallery.equals("yes")){
        if(event_name != null){
            subFolder = event_name;
        } else {
            subFolder = timestamp;
        }
    } else {
        subFolder = "_GEN";
    }
    if(event_name == null){
        imageFileName = "CPB_"+timestamp+"-"+image_id;
    } else {
        imageFileName = "CPB_"+event_name+"_"+timestamp+"-"+image_id;
    }
    imageStorageDirectory = Environment.getExternalStorageDirectory() + File.separator + "CPB" + File.separator + subFolder;
    imageFinalFileName = imageFileName;
    Toast.makeText(getApplicationContext(), imageStorageDirectory + "/" + imageFileName, Toast.LENGTH_LONG).show();
    File storageDirectory = new File(imageStorageDirectory);
    storageDirectory.mkdir();
    File image = File.createTempFile(imageFileName, ".jpg", storageDirectory);
    return image;
}
Run Code Online (Sandbox Code Playgroud)

当我读到吐司时,它给了我正确的路径和文件名,但是当我查看文件夹视图时,图片上有很多额外的数字.

例如,图片名称应该是,CPB_20160120-1.jpg但它当前读取CPB_20160120-1484291604.jpg如果它有所不同,文件保存在6:37 PM

还有两个例子:

应该是:CPB_20160120-2.jpg 是:CPB_20160120-22140921986.jpg

应该是:CPB_20160120-3.jpg 是:CPB_20160120-3-965716644.jpg

当文件保存时,不确定这些额外数字来自何处...

Flo*_*ern 6

createTempFile()源代码所示,这些随机数是由显式生成的.

您可能不想使用临时文件,因此我建议您创建普通文件:

File image = new File(storageDirectory, imageFileName + ".jpg");
Run Code Online (Sandbox Code Playgroud)