3

私のアプリケーションでは、ボタンを使用してカメラアプリケーションを起動し、現在の日付と時刻で名前を付けて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";

それは機能しますが、イメージ名に現在の日付と時刻が必要です。

4

4 に答える 4

10

コロン:はファイル名に有効な文字ではないため、そのようなファイルの作成に失敗しています。名前のパターンを次のように変更してみてください。

CharSequence s  = DateFormat.format("MM-dd-yy hh-mm-ss", d.getTime());
于 2013-03-31T10:00:30.717 に答える
5

このコードを入れて試してください:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_HH_mm_ss");
String currentTimeStamp = dateFormat.format(new Date());
于 2014-10-08T13:44:06.380 に答える
0

これを使って

File image = new File(imagesFolder, s+ "Rj.jpg"); 
于 2016-12-02T10:06:03.227 に答える