Bonjour J'insère une image de l'appareil photo (prise de vue) dans le magasin de données MediaStore.Images.Media.Afficher la dernière image
Est-ce que quelqu'un sait comment je peux afficher la dernière photo prise?
J'ai utilisé Uri image = ContentUris.withAppendedId (externalContentUri, 45); pour afficher une image à partir du magasin de données, mais évidemment 45 n'est pas l'image correcte.
J'essaie de transmettre les informations de l'activité précédente (Caméra) à l'activité d'affichage, mais je suppose que le rappel photo étant son propre thread, la valeur ne sera jamais définie. Code photo est la suivante
Camera.PictureCallback photoCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
// TODO Auto-generated method stub
FileOutputStream fos;
try
{
Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
fileUrl = MediaStore.Images.Media.insertImage(getContentResolver(), bm, "LastTaken", "Picture");
if(fileUrl == null)
{
Log.d("Still", "Image Insert Failed");
return;
} else
{
picUri = Uri.parse(fileUrl);
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, picUri));
}
}
catch(Exception e)
{
Log.d("Picture", "Error Picture: ", e);
}
camera.startPreview();
}
};
sûrement vous encore avoir le flux de fichier que vous avez utilisé pour enregistrer les données? – thecoshman
Le fichier URL pointe sur le fichier - cependant cette méthode est appelée dans son propre thread camera.takePicture (shutterBack, null, photoCallback); Donc, fileURL ne semble jamais renvoyer une valeur (Toujours nulle) J'ai mis le thread principal en veille et l'ai tenu dans une boucle while dans l'espoir qu'il a une valeur - mais cela ne semble jamais arriver pour le thread principal. – Steve