Voici comment cela fonctionne sur 2.2 (autre que sur les versions précédentes). Au début de l'intention
String fileName = "temp.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intent, CAPTURE_PICTURE_INTENT);
vous devez vous rappeler mCapturedImageURI
.
Lorsque vous capturez l'image, dans onActivityResult()
utilisation que URI pour obtenir le chemin du fichier:
String[] projection = { MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String capturedImageFilePath = cursor.getString(column_index_data);
MISE À JOUR: Sur nouveaux appareils Android que vous auriez pas besoin MediaStore.EXTRA_OUTPUT, mais vous déduisez plutôt URI image/vidéo de data.getData() reçue de onActivityResult (..., les données d'intention), comme bien décrit sous
Android ACTION_IMAGE_CAPTURE Intent
Cependant, étant donné que cette partie est sujet à l'adaptation du fabricant, vous pouvez toujours rencontrer des téléphones où «ancienne» approche peut être utile.
s'il vous plaît mettre tout votre code dans le « code » textboxes, il rend la lecture de votre code beaucoup plus facile, de sorte que nous puissions être en mesure de répondre à vos questions – Samuel