Android 拍照后保存到手机里,在相册找不到

1、拍完照后用下面的方法写到相册中

       MediaStore.Images.Media.insertImage(AddCommercial.this.getContentResolver(),
                                file.getAbsolutePath(), name, null);

2、通知系统跟新手机储存目录

           扫描拍照后的指定文件(推荐)

                Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);   
                Uri uri = Uri.fromFile(new File(fileName));
                System.out.println(fileName+"uriuri:::"+uri);
                intent.setData(uri);   
                sendBroadcast(intent);

           扫描整个sd卡(扫描费时间)

                sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + Environment.getExternalStorageDirectory())));


FileOutputStream b = null;

            Bitmap bitmap = null;
            String wenjian = "文件名" ;
            try {  
                String sdStatus = Environment.getExternalStorageState();  
                if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用  
                    MyToast.MyShow(AddCommercial.this, "请确认已经插入SD卡");
                    return;  
                }  
                Bundle bundle = data.getExtras();  
                bitmap = (Bitmap) bundle.get("data");// 获取相机返回的数据,并转换为Bitmap图片格式  
                File appDir = new File(Environment.getExternalStorageDirectory(), wenjian);
                if (!appDir.exists()) {
                    appDir.mkdir();
                }
                String name = System.currentTimeMillis() + ".jpg";
                File file = new File(appDir, name);
                fileName = Environment.getExternalStorageDirectory()+"/"+wenjian+"/"+name;
                cameralist.add(fileName);
                b = new FileOutputStream(file);  
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把数据写入文件  
                MediaStore.Images.Media.insertImage(AddCommercial.this.getContentResolver(),
                                file.getAbsolutePath(), name, null);
                Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);   
                Uri uri = Uri.fromFile(new File(fileName));
                System.out.println(fileName+"uriuri:::"+uri);
                intent.setData(uri);   
                sendBroadcast(intent);
            } catch (Exception e) {  
                e.printStackTrace();  
            } finally {  
                try {  
                    b.flush();  
                    b.close();  
                } catch (Exception e) {  
                    e.printStackTrace();  
                }  
            }  

你可能感兴趣的:(android)