android将应用中图片保存到系统相册并显示

我应用到的场景是程序中在视频通讯时截图,将截图保存到本地相册中

/*** @param bmp 获取的bitmap数据
* @param picName 自定义的图片名*/
public static void saveBmp2Gallery(Bitmap bmp, String picName) {

        String fileName = null;
            //系统相册目录
            String galleryPath= Environment.getExternalStorageDirectory()
                    + File.separator + Environment.DIRECTORY_DCIM
                    +File.separator+"Camera"+File.separator;

            // 声明文件对象
            File file = null;
            // 声明输出流
            FileOutputStream outStream = null;

            try {
                // 如果有目标文件,直接获得文件对象,否则创建一个以filename为名称的文件
                file = new File(galleryPath, picName+ ".jpg");

                // 获得文件相对路径
                fileName = file.toString();
                // 获得输出流,如果文件中有内容,追加内容
                outStream = new FileOutputStream(fileName);
                if (null != outStream) {
                    bmp.compress(bmp_format, 90, outStream);
                }

            } catch (Exception e) {
                e.getStackTrace();
            }finally {
                try {
                    if (outStream != null) {
                        outStream.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
        //通知相册更新       MediaStore.Images.Media.insertImage(mContext.getContentResolver(),
                    bmp, fileName, null);
            Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
            Uri uri = Uri.fromFile(file);
            intent.setData(uri);
            mContext.sendBroadcast(intent);

            ToastUtil.show("图片保存成功");

    }
时间: 2024-09-29 13:11:29

android将应用中图片保存到系统相册并显示的相关文章

将图片保存到系统相册的两种方法

第一种:采用系统的api直接使用: ContentResolver cr = getContentResolver(); String url = MediaStore.Images.Media.insertImage(cr, bmp, String.valueOf(System.currentTimeMillis()), ""); 但是,这种方式必须得刷新图库: sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.par

图片保存到系统相册

目前,UIImage保存到系统相册主要有两种方式: 方式一:(就一句话) UIImageWriteToSavedPhotosAlbum(img,self, @selector(image:didFinishSavingWithError:contextInfo:),nil); 然后实现回调: - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInf

[Android] 针对生成的图片文件在系统Gallery不显示的处理

之前遇到过一个问题,就是发现我在程序中生成一个新的 Bitmap 之后,当我打开系统的 Gallery 查看时,并没有看到新生成的图像.然而打开文件浏览器,找到保存 Bitmap 所在的文件夹下,还能看到程序生成的 Bitmap 文件.也就是说,文件其实存在,但 Gallery 似乎并没有刷新.之后,又一个新的行为证实了我的观点,即,每次重启设备之后, Gallery 中就会显示新生成的 Bitmap 了.也就是说,重启设备之后,系统对某个保存有图片信息的文件进行了重新读写(当时得出的是这么个结

Android拍照保存在系统相册不显示的问题

1 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 2 Uri uri = Uri.fromFile(new File("/sdcard/image.jpg")); 3 intent.setData(uri); 4 mContext.sendBroadcast(intent);

android 调用系统相机获取图片、调用系统相册获取图片,并对图片进行截取

打开系统相册获取图片并截取,代码相对简单 1 Intent intent = new Intent(Intent.ACTION_GET_CONTENT,null); 2 intent.setType("image/*"); 3 intent.putExtra("crop", "true"); 4 5 //WIDTH 和 HEIGHT指的是截取框的宽高比例,如设WIDTH = 1,HEIGHT = 1,截取框就为正方形 6 intent.putEx

iOS--将图片保存至本地相册

今天做聊天,领导说对方给我发一个图片,我要保存到本地,IOS的UIKit Framework提供了UIImageWriteToSavedPhotosAlbum方法对图像进行保存,该方法会将image保存至用户的相册中: 上代码: void UIImageWriteToSavedPhotosAlbum ( UIImage *image, id completionTarget, SEL completionSelector, void *contextInfo ); 参数说明: image : 需

Android——将图片加入到系统相册里面

Adnroid中保存图片的方法可能有如下两种: 第一种是自己写方法,如下代码: public static File saveImage(Bitmap bmp) { File appDir = new File(Environment.getExternalStorageDirectory(), "Boohee"); if (!appDir.exists()) { appDir.mkdir(); } String fileName = System.currentTimeMillis(

Android 图片存入系统相册更新显示实例详解

在开发android的过程中,我们避免不了可能会涉及到做一个自定义相册或则会去本地创建一个文件夹来存储我们需要的图片.拿相册来说,比如我们创建一个test的文件夹,拍完一张照片后存储到这个指定的test文件夹里,然后在相册里面显示出来,就像微信的效果一样.拍完即可立即显示.但是,在实际开发过程中我们保存完一张图片后并不能立即更新显示出来这个图片,需要我们重启手机才能在系统相册中显示出来. 这里先提供一个插入系统图库的方法: MediaStore.Images.Media.insertImage(

将图片保存到系统相冊的两种方法

第一种:採用系统的api直接使用: ContentResolver cr = getContentResolver(); String url = MediaStore.Images.Media.insertImage(cr, bmp, String.valueOf(System.currentTimeMillis()), ""); 可是,这样的方式必须得刷新图库: sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.pa