已保存的照片对于Gallery不可见

时间:2013-12-12 11:11:23

标签: android image save visibility android-gallery

我的应用已将照片保存到Gallery,但Gallery未看到此照片。我使用文件管理器检查现有的,他们在那里!我可以从文件管理器打开它们,但不能Gallery

我用来保存图片的代码:

public static void saveImg(long pid, ImageView picture, Context context) {
        File file = new File(Environment.getExternalStorageDirectory() + "/Lackrosy/"  + pid + ".jpeg");
        File dir = new File(Environment.getExternalStorageDirectory() + "/Lackrosy/");
        try {
            if (!dir.exists())
                dir.mkdir();
            picture.buildDrawingCache();
            Bitmap bmap = picture.getDrawingCache();
            FileOutputStream out = new FileOutputStream(file);
            bmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
            Log.d("palval", "Photo saved: " + file.getAbsolutePath());
        } catch (Exception e) {
            e.printStackTrace();
            Log.e("palval", e.toString());
            file.delete();
            Toast.makeText(context, "Image not saved", Toast.LENGTH_SHORT).show();
        }
    }

1 个答案:

答案 0 :(得分:2)

您需要发送广播,以便图库自行更新。

        Intent mediaScanIntent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE");
        File f = new File(image_file_path);
        Uri contentUri = Uri.fromFile(f);
        mediaScanIntent.setData(contentUri);
        sendBroadcast(mediaScanIntent);

编辑1:您拥有所有内容:http://developer.android.com/training/camera/photobasics.html

你可以下载这个例子,它是我发现的唯一可用于拍照的所有手机上的代码,存储在我想要的位置并显示在画廊中......

BUt有些手机会像HTC欲望C ......那样在画廊中出现重复...