Aller au contenu

Perdu avec la génération des apperçus des photos


Recommended Posts

Bonjour,

Dans une appli j'ai besoin de la prise de photo, ainsi que de pouvoir afficher ces photos dans mon appli.

Les photos prises sont enregistrée dans un dossier temporaire, puis déplacées lorsque l'utilisateur enregistre. Les photos ne devraient par être ajoutée dans le MediaStore (ne pas être visible dans l'application "galerie" ni dans les autres appli). Mon problème c'est que j'ai besoin des thumbnails pour créer les imagesView de ma galery, et que je n'arrive pas à les générer sans utiliser le MediaStore.

J'ai donc tenté d'ajouter mon image juste prise dans le mediaStore...

case REQUEST_CAPTURE_IMAGE:
if(resultCode==-1){
  try {
     String ret = MediaStore.Images.Media.insertImage(getContentResolver(), cheminNouvellePhoto, "photo"+getIndexPhotoCourant(), "");
     Toast.makeText(this, "ret="+ret, Toast.LENGTH_LONG).show();
  }
  catch...

Ce code créé une copie de mon image dans DCIM/camera, et ajoute bien cette image à la librairie, mais ce n'est pas ce que je veux. Je voudais que ce soit MON image qui soit ajoutée, pas une copie.

Voici le code que j'utilise pour voir le contenu du MediaStore :

public static void printPhotoList(Context mContext) {
       Cursor cc = mContext.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
       Log.i("CURSOR", "debut affichage");
       while(cc.moveToNext()){
           StringBuffer buf = new StringBuffer();
           for(int i=0;i                buf.append(cc.getColumnName(i)).append(":").append(cc.getString(i)).append("/\\");
           }
           Log.i("CURSOR", buf.toString());
       }
   Log.i("CURSOR", "fin affichage");
}

et le code utilisé pour la prise de photos :

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_OUTPUT,   Uri.fromFile(new File(APP_TMP_DIR + "photo" + getIndexPhotoCourant() + ".jpg")));
startActivityForResult(intent, REQUEST_CAPTURE_IMAGE);

Pour conclure, mes questions :

  • Peut on générer les miniatures sans passer par le MediaStore (simplement avec un nom de fichier)
  • Sinon peut on ajouter des images dans le mediastore sans en faire de copie, et en les gardant pour notre application.

Merci à celui qui pourra m'aider, j'ai lu beaucoup sur le net, mais je n'ai rien trouvé répondant à mon besoin.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...