0
votes

ne peut pas être intention d'onactimityresult

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PICK_IMAGE_REQUEST ) {
        filePath = data.getData();
        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), filePath);
            imageView.setImageBitmap(bitmap);
            Toast.makeText(this, data.getDataString(), Toast.LENGTH_SHORT).show();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    else if (requestCode == CAMERA_REQUEST) {
        filePath = data.getData();
            Log.i("hello", "REQUEST cALL");
            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), filePath);
                imageView.setImageBitmap(bitmap);

            } catch (Exception e) {
                Log.i("hello", "Exception" + e.getMessage());
            }
    }

5 commentaires

Avez-vous donné la permission à l'application Android pour accéder au stockage ??


Nouvelle image d'image de Android à partir d'un Caméra à l'aide du fournisseur de fichiers


écrire des données? . oke iam l'essayer


Vous devez donner la permission d'accéder au stockage externe et interne également pour API> 23 Vous aurez besoin de la permission de vérification à l'aide d'ActivityCompat.Requestpermissions


A propos du chemin de fichier que vous pouvez utiliser data.getData (). GetPath () ou externeStorageUtil.getpubliceXternalStorageBasedir


3 Réponses :


0
votes
public String getRealPathFromURI(Uri uri) {
    String path = "";
    if (getContentResolver() != null) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        if (cursor != null) {
            cursor.moveToFirst();
            int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
            path = cursor.getString(idx);
            cursor.close();
        }
    }
    return path;
}

4 commentaires

Mais la condition de choisir une image du stockage. Je peux définir la vue de l'image .. ce qui ne va pas?


@Wildanromiza a édité ma réponse. data.getdata () ne donne pas aussi de bitmap brut. srys


Je ne peux pas comprendre. le code dans votre lien partagé. Donnez-moi un moyen simple? en tous cas


@Wildanromiza sa manière simple. Le résultat de la caméra ne vous donnera pas le chemin du fichier direcly. Au lieu de cela, vous devez convertir le bitmap en chemin de fichier. Ce qui a besoin d'un processus comme pour obtenir l'URI du bitmap d'abord, puis traduisant l'URI dans le chemin de fichier.



0
votes

Essayez ceci, espérons que cela vous aidera.

 if (requestCode == CAMERA_REQUEST) {   
        Bitmap bitmap= (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(bitmap);  
  }  


1 commentaires

L'OP veut le faire du fichier



0
votes

Pour utiliser le chemin de fichier image Vous devez faire comme ci-dessous

1) Écrivez une méthode pour créer un fichier image xxx

< Strong> 2) Intention de caméra d'appel xxx

3) maintenant, vous devez configurer le fichier FileProvider. Dans le manifeste de votre application, ajoutez un fournisseur à votre application: xxx

4) Créer un fichier de ressource res / xml / fichier_paths.xml xxx

Remarque: Assurez-vous de remplacer com.example.package.name avec le réel Nom du package de votre application.

5) Obtenez l'imageFilePath xxx

espère que cela fonctionne comme vous vous attendez. Pour plus de détails, vous pouvez voir Google Documents officiels ! < / p>


0 commentaires