2016-11-22 2 views
-1

J'utilise le code suivant pour prendre la photo de la caméra android, après avoir pris la photo onActivityResult est appelée avec le paramètre data égal à NULL.Pourquoi est-ce que j'obtiens null dans le paramètre de données de onActivityResult

Code -

public void getpic(View v){ 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    // Ensure that there's a camera activity to handle the intent 
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
     // Create the File where the photo should go 
     File photoFile = null; 
     try { 
      photoFile = createImageFile(); 
     } catch (IOException ex) { 
      // Error occurred while creating the File 
      //... 
     } 
     // Continue only if the File was successfully created 
     if (photoFile != null) { 
      Uri photoURI = FileProvider.getUriForFile(this, 
        "com.example.myfirstapp.fileprovider", 
        photoFile); 

      takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI); 
      startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);//REQUEST_TAKE_PHOTO 
     } 
    } 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    //super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { 
     Bundle extras = data.getExtras(); 
     Bitmap imageBitmap = (Bitmap) extras.get("data"); 
     mImageView.setImageBitmap(imageBitmap); 
    } 
} 
+0

Avez-vous la permission sur le manifeste? – JoCuTo

+0

Ajouter l'autorisation dans le manifeste et si vous utilisez Android version 6, vous devez obtenir l'autorisation d'exécution @ S.L. –

Répondre

0

the documentation for ACTION_IMAGE_CAPTURE Citation:

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.

Vous avez fourni EXTRA_OUTPUT. Votre photo doit être écrite à l'emplacement que vous avez indiqué dans EXTRA_OUTPUT. Votre data supplémentaire sur la réponse doit être null.

+0

merci beaucoup pour votre réponse. –