3
votes

android studio ne peut pas afficher l'image dans la vue d'image

// 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;


0 commentaires

3 Réponses :


2
votes

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


1 commentaires

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



1
votes

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)


1 commentaires

Je vais le vérifier demain tnx



0
votes

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)


0 commentaires