Android:我的应用程序保存的图像不会显示在图库中 - 即使重启后也是如此

时间:2012-06-05 08:55:28

标签: android image gallery

我在Android应用中创建并保存图片:

File dir = new File(Environment.getExternalStorageDirectory(), ".myappname/saved");
File imageFile = new File(dir, "IMG" + random() + ".jpg");
FileOutputStream out = new FileOutputStream(imageFile);
bi.compress(Bitmap.CompressFormat.JPEG, 100, out);

图像不会显示在图库中 - 即使重新启动后也是如此。

更新:我只显示部分代码!我还纠正了我在编写StackOverFlow消息时引入的拼写错误。图像保存得很好 - 我可以查看它们 - 它们只是不在Gallery中显示。 我刚从“.myappname”中删除了点 - 没有图库显示图像。奇怪。正如我在下面说的,其他应用程序将图像保存在点文件夹中,并在图库中显示:(

4 个答案:

答案 0 :(得分:1)

将文件保存在SDCARD /“some folde r”上它将反映在图库中,Gallery应用程序不会显示来自私人空间的图像。更改代码行以下

 File fwdir = new File(Environment.getExternalStorageDirectory(), "myappname/saved");

编辑: - 删除。从目录名称。因为它将被隐藏文件夹。

答案 1 :(得分:1)

您正在通过在文件夹名称前加上“。”来创建隐藏文件夹。 (期间)媒体扫描仪会忽略这一点。至少这是我手动做同样的行为我没有通过代码尝试过。 请查看此帖http://www.makeuseof.com/tag/hide-private-picture-folders-gallery-android/

中的选项2

答案 2 :(得分:0)

你当前的问题是。出现在文件路径中,使其隐藏但在某些情况下,
 图库不会填充私人空间的图像 所以使用代码


sendBroadcast(new Intent( Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
onDestroy() 方法`中。 检查此链接
http://rajareddypolam.wordpress.com/2013/01/29/android-saving-file-to-external-storage/

答案 3 :(得分:0)

在您的活动中写下此功能......

private void scanFile(String path){

        MediaScannerConnection.scanFile(MainActivity.this,
                new String[] { path }, null,
                new MediaScannerConnection.OnScanCompletedListener() {

                    public void onScanCompleted(String path, Uri uri) {
                        Log.i("TAG", "Finished scanning " + path);
                    }
                });
    }

然后调用此功能保存图像

scanFile(yourFile.getAbsolutePath());