// variable globale
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == CAMERA_REQUEST && requestCode == RESULT_OK) { Bundle extras = data.getExtras(); bitmap = (Bitmap) extras.get("image"); imageview.setImageBitmap(bitmap); } }
// lors de la création:
Button take_photo_btn = findViewById(R.id.photo_btn); take_photo_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CAMERA_REQUEST); } });
// prendre référence
imageview = findViewById(R.id.image_view);
// l'auditeur onclick et l'intention:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
// c'est l'activité pour le résultat:
static final int CAMERA_REQUEST = 1; ImageView imageview; Bitmap bitmap;
3 Réponses :
Si vous utilisez Marshmallow, vous devez implémenter les autorisations d'exécution pour l'appareil photo sous Android.
Plus de détails sur ce lien https://developer.android.com/training/permissions/ demande
Ohh merci beaucoup je ne pensais pas avoir besoin d'une permission car l'utilisateur prend la photo pas moi .. Je verrai si son travail Merci
En supposant que vous ayez inclus l'autorisation de la caméra dans votre manifeste:
requestPermissions(activity, new String[] {Manifest.permission.CAMERA}, requestCode);
Essayez de vérifier si l'utilisateur a déjà accordé l'autorisation d'utiliser la caméra:
if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED)
Je vais le vérifier demain tnx
Ok, j'ai trouvé le problème ici:
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK)
Je dois faire ceci:
if (requestCode == CAMERA_REQUEST && requestCode == RESULT_OK)