Android Can';看不到我保存到新目录的位图

Android Can';看不到我保存到新目录的位图,android,file,bitmap,gallery,Android,File,Bitmap,Gallery,我正在寻找一种将位图保存到文件夹(使用我的应用程序名)的方法,这样默认库就会识别它 因此,我设法保存了图像,但我无法从gallery或我的PC(使用资源管理器)中看到它 这是我的代码: // Save bitmap to internal memory private void savePhoto(Bitmap bmp){ String appName = "myApp"; String file_path = Environment.getExternalStoragePu

我正在寻找一种将位图保存到文件夹(使用我的应用程序名)的方法,这样默认库就会识别它

因此,我设法保存了图像,但我无法从gallery或我的PC(使用资源管理器)中看到它

这是我的代码:

 // Save bitmap to internal memory
private void savePhoto(Bitmap bmp){
    String appName = "myApp";

    String file_path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)+ File.separator + appName;
    File dir = new File(file_path);

    if(!dir.exists())
        dir.mkdirs();   

    // Image file
    File file = new File(dir, "IMG" + "_" +     System.currentTimeMillis() + ".jpg");
    FileOutputStream out = null;

    try
    {
     out = new FileOutputStream(file);
     bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
     out.flush();
     out.close();

     out = null;
    } catch (Exception e)
    {
        e.printStackTrace();
    }

}
我可以使用安装在galaxy上的一些文件管理器来查看它,但它没有多大帮助。 我知道我应该使用媒体扫描仪通知画廊(这是我需要跨越的另一座桥),但有人能帮我理解我甚至找不到文件的方式吗..我应该改变它的可见性吗

还有一件事:我在关于这个问题的另一个问题上读到,我应该将元数据添加到图像/文件夹中,以便画廊能够显示它。有必要吗


非常感谢

尝试替换此getExternalStoragePublicDirectory(..)
使用这个getExternalStorageDirectory()

尝试替换此getExternalStoragePublicDirectory(..)
使用这个getExternalStorageDirectory()

尝试替换此getExternalStoragePublicDirectory(..)
使用这个getExternalStorageDirectory()

尝试替换此getExternalStoragePublicDirectory(..)
使用这个getExternalStorageDirectory()

很明显,它确实与媒体扫描仪有关,我添加了这一行

MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);
现在它开始工作了

从文件中:

MediaScannerConnection为应用程序提供了一种将新创建或下载的媒体文件传递给媒体扫描服务的方法。媒体扫描服务将从文件中读取元数据,并将文件添加到媒体内容提供商


很明显,它确实与媒体扫描仪有关,我添加了这一行

MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);
现在它开始工作了

从文件中:

MediaScannerConnection为应用程序提供了一种将新创建或下载的媒体文件传递给媒体扫描服务的方法。媒体扫描服务将从文件中读取元数据,并将文件添加到媒体内容提供商


很明显,它确实与媒体扫描仪有关,我添加了这一行

MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);
现在它开始工作了

从文件中:

MediaScannerConnection为应用程序提供了一种将新创建或下载的媒体文件传递给媒体扫描服务的方法。媒体扫描服务将从文件中读取元数据,并将文件添加到媒体内容提供商


很明显,它确实与媒体扫描仪有关,我添加了这一行

MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);
现在它开始工作了

从文件中:

MediaScannerConnection为应用程序提供了一种将新创建或下载的媒体文件传递给媒体扫描服务的方法。媒体扫描服务将从文件中读取元数据,并将文件添加到媒体内容提供商