2009-06-26 7 views
2

je lance une activité pour capturer une image de la caméra:Comment obtenir l'URL de l'image capturée?

Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null); 
i.putExtra("return-data", true); 
startActivityForResult(i, PICK_FROM_CAMERA); 

Pouvez-vous s'il vous plaît me dire comment obtenir l'URI de l'image de capture?

Répondre

1

Pour obtenir l'image qui vient d'être prise de l'appareil que vous procédez comme suit

// Call to take the picture 
startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE"), PICK_FROM_CAMERA); 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == PICK_FROM_CAMERA) 
    { 
     Uri uri = data.getData(); 
      // set the imageview image via uri 
      _previewImage.setImageURI(uri); 
    } 
} 
+6

J'ai essayé cela sur mon téléphone Android 2.2 et 'data.getData()' renvoie null. –

2

Je suis nouveau sur Android, mais je crois que vous devez ajouter quelques informations supplémentaires à l'intention. La documentation ACTION_IMAGE_CAPTURE dit:

L'appelant peut passer un EXTRA_OUTPUT supplémentaire pour contrôler où cette image sera écrite. Si EXTRA_OUTPUT n'est pas présent, une image de petite taille est renvoyée en tant qu'objet bitmap dans le champ supplémentaire. Ceci est utile pour les applications qui n'ont besoin que d'une petite image. Si EXTRA_OUTPUT est présent, l'image en taille réelle sera écrite dans la valeur Uri de EXTRA_OUTPUT.

Donc, je pense que vous devriez être en mesure d'ajouter dans cette ligne:

intent.putExtra (MediaStore.EXTRA_OUTPUT, Uri.fromFile (new File ("MyImageCapture")));

Et puis vous devriez être en mesure de l'obtenir à partir de l'URI dans le onActivityResult.

Mais je n'ai pas testé cela. J'espère ne pas t'avoir égaré.

+0

J'ai essayé: \t i.putExtra (MediaStore.EXTRA_OUTPUT, Uri.fromFile (new File (» MyImageCapture "))); i.putExtra ("outputFormat", Bitmap.CompressFormat.PNG.name()); \t \t \t \t \t \t \t startActivityForResult (i, PICK_ICON_FROM_CAMERA_ID); Mais mon onActivityResult() n'a jamais été appelé. Pouvez-vous s'il vous plaît me dire une idée pour ce qui est arrivé? – n179911

Questions connexes