Bonjour à tous,

Après mainte recherche sur la toile, je m'adresse à vous pour vous exposer mon problème. En effet je développe une application où je peux prendre des photos.

Mon problème est que quand j'enregistre sur la carte SD la photo, il me la stock avec comme nom un ensemble de chiffres (1360800901715.jpg) et je n'arrive pas à changer ce nom pour mettre ce style : appli_140213012600.jpg

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Callback pour la prise de photo
		Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
 
			public void onPictureTaken(byte[] data, Camera camera) {				
				Log.i("methode","onPictureTaken()");
				if (data != null) {
					// Enregistrement de votre image
					try {
						if (stream != null) {
							stream.write(data);
							stream.flush();
							stream.close();
						}
					} catch (Exception e) {
						String err = (e.getMessage()==null)?"not error":e.getMessage();
						Log.e("error",err);
					}
 
					// On redémarre la prévisualisation
					camera.startPreview();
 
				}
			}
		};
 
	private void SavePicture() {
		Log.i("Methode", "SavePicture");
		try {
			SimpleDateFormat timeStampFormat = new SimpleDateFormat(
					"yyyy-MM-dd-HH.mm.ss");
			String fileName = "wenria_" + timeStampFormat.format(new Date())
					+ ".jpg";
			Log.i("fileName", fileName);
 
			// Création de l'intent
			Intent intent = new Intent();
			// On rajoute le nom saisie dans l'intent
			intent.putExtra("uri", fileName);
			// On retourne le résultat avec l'intent
			setResult(RESULT_OK, intent);
 
			// Metadata pour la photo
			ContentValues values = new ContentValues();
			values.put(Media.TITLE, fileName);
			values.put(Media.DISPLAY_NAME, fileName);
			values.put(Media.DESCRIPTION, "Image prise par Wenria Xeninfo");
			values.put(Media.DATE_TAKEN, new Date().getTime());
			values.put(Media.MIME_TYPE, "image/jpeg");
 
			// Support de stockage
			Uri taken = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI,
					values);
			Log.i("URI", ""+Media.EXTERNAL_CONTENT_URI);
 
			// Ouverture du flux pour la sauvegarde
			stream = (FileOutputStream) getContentResolver().openOutputStream(
					taken);
 
			camera.takePicture(null, pictureCallback, pictureCallback);
 
		} catch (Exception e) {
			String err = (e.getMessage()==null)?"SD Card failed":e.getMessage();
			Log.e("sdcard-err2:",err); 
		}
	}
Je pensais que le fileName me stockerai l'image avec ce nom mais ce n'est pas le cas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
fileName: wenria_2013-02-14-01.31.04.jpg
URI: content://media/external/images/media
Merci d'avance pour vos réponses.