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 66 67 68 69 70
| public class MainActivity extends Activity {
private static final int PHOTO_RESULT = 0;
private File mFichier;
ImageView image;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView)findViewById(R.id.ivImage);
takePhoto();
displayImage();
}
public void displayImage(){
Bitmap bitmap = null;
bitmap = BitmapFactory.decodeFile(mFichier.getAbsolutePath());
image.setImageBitmap(bitmap);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void takePhoto(){
// L'endroit où sera enregistrée la photo
// Remarquez que mFichier est un attribut de ma classe
mFichier = new File(Environment.getExternalStorageDirectory(), "photo.jpg");
// On récupère ensuite l'URI associée au fichier
Uri fileUri = Uri.fromFile(mFichier);
// Maintenant, on crée l'intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Et on déclare qu'on veut que l'image soit enregistrée là où pointe l'URI
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
// Enfin, on lance l'intent pour que l'application de photo se lance
startActivityForResult(intent, PHOTO_RESULT);
//onActivityResult(PHOTO_RESULT, RESULT_OK, intent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_RESULT && resultCode == RESULT_OK) {
if (data != null) {
if (data.hasExtra("data"));
Bitmap thumbnail = data.getParcelableExtra("data");
} else {
// On sait ici que le fichier pointé par mFichier est accessible, on peut donc faire ce qu'on veut avec, par exemple en faire un Bitmap
Bitmap image = BitmapFactory.decodeFile(mFichier.getAbsolutePath());
}
}
}
} |
Partager