Si quieres que las fotos o vídeos de tu aplicación aparezcan en la galería de Android, copia y pega el siguiente código:
/**
* Save image to gallery
*/
public static void SaveToGallery(String path, Context context)
{
ContentValues v = new ContentValues();
v.put(Images.Media.TITLE, "MIFOTO");
v.put(Images.Media.DISPLAY_NAME, "MIFOTO.jpg");
v.put(Images.Media.DESCRIPTION, "Una foto de mi app");
v.put(Images.Media.MIME_TYPE, "image/*");
v.put(Images.Media.ORIENTATION, 0);
File f = new File(path);
File parent = f.getParentFile();
String fpath = parent.toString().toLowerCase(Locale.getDefault());
String name = parent.getName().toLowerCase(Locale.getDefault());
v.put(Images.ImageColumns.BUCKET_ID, fpath.hashCode());
v.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, name);
v.put(Images.Media.SIZE, f.length());
f = null;
v.put("_data", path);
ContentResolver c = context.getContentResolver();
c.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, v);
}
Después, sólo hay que pedirle al sistema que refresque el contenido multimedia:// update gallery
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
No hay comentarios:
Publicar un comentario