android - 使用名称中的当前日期和时间将图像保存到 sd 不起作用

标签 android image datetime save android-camera

在我的应用程序中,我使用一个按钮来启动相机应用程序并将图片保存到 sdCard 上的特定文件夹中,并按当前日期和时间命名。当我硬编码图片的名称时,它工作正常,但如果我试图在名称中输入日期,它根本不起作用。

 Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
 File imagesFolder = new File(Environment.getExternalStorageDirectory(), Constants.IMAGE_FOLDER_URI);
 imagesFolder.mkdirs();    
 Date d = new Date();
 CharSequence s  = DateFormat.format("MM-dd-yy hh:mm:ss", d.getTime());    
 File image = new File(imagesFolder, s.toString() + ".jpg"); //this line doesn't work

 Uri uriSavedImage = Uri.fromFile(image);
 imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
 startActivity(imageIntent);

如果我输入:

s = "some_name";

然后它就可以工作了,但是我需要图像名称中的当前日期和时间。

最佳答案

冒号 : 不是文件名中的有效字符,这就是它无法创建此类文件的原因。 尝试将您的名称模式更改为如下所示:

CharSequence s  = DateFormat.format("MM-dd-yy hh-mm-ss", d.getTime());

关于android - 使用名称中的当前日期和时间将图像保存到 sd 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15728269/

相关文章:

android - 使部分 TextView 可点击(不是 url)

asp.net - 图像在 asp.net 中不显示

python - 用于图像数据集的 scikit-learn PCA

c# - 使用代码将日期分配给 TextBox textmode ="date"

android - 从源代码构建 Android - 添加带有共享库的预构建应用程序

java - 如何有效地划分测试用例以在使用 appium 的移动应用程序中自动化它们

java - 如何将对象添加到JFrames

c# - 毫秒精度的 Windows 系统时间

c# - 为什么 DateTime.ToString ("h") 导致异常?

android - 通过 Facebook、电子邮件和短信/彩信共享音频文件 (.mp3)