Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 图片不会显示在照片应用程序中,直到我重新启动手机_Java_Android_File_Bitmap_Save - Fatal编程技术网

Java 图片不会显示在照片应用程序中,直到我重新启动手机

Java 图片不会显示在照片应用程序中,直到我重新启动手机,java,android,file,bitmap,save,Java,Android,File,Bitmap,Save,正如下面的代码所示,我将位图保存到公共图片目录中。我还提供了存储中图像的屏幕截图,以进一步证明图像正在保存 问题是,在我重新启动手机之前,图片不会显示在照片应用程序中。我检查了其他应用程序,这些图片立即显示出来。如果我打开图像,我也无法编辑它,例如,像添加其他图片一样添加效果 Bitmap b = Bitmap.createScaledBitmap(mBitmap, width, height, false); Long uuid = UUID.randomU

正如下面的代码所示,我将位图保存到公共图片目录中。我还提供了存储中图像的屏幕截图,以进一步证明图像正在保存

问题是,在我重新启动手机之前,图片不会显示在照片应用程序中。我检查了其他应用程序,这些图片立即显示出来。如果我打开图像,我也无法编辑它,例如,像添加其他图片一样添加效果

 Bitmap b = Bitmap.createScaledBitmap(mBitmap, width, height, false);

                Long uuid = UUID.randomUUID().getMostSignificantBits();
            File path = Environment.getExternalStoragePublicDirectory(
                    Environment.DIRECTORY_PICTURES + "/test");

            if(!path.exists() && !path.isDirectory()){
                path.mkdirs();
            }

            Log.i("Directory:", path.toString());

            File file = new File(path, "test_" + uuid + ".jpg");

            if (file.exists()){
                file.delete();
            }

            FileOutputStream out = null;
            try {
                out = new FileOutputStream(file);
                b.compress(Bitmap.CompressFormat.JPEG, 80, out);

            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (out != null) {
                        out.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

        }
    });

添加新图像时必须发送通知

getContentResolver().notifyChange(
    Uri.parse("file://sdcard/abc.png");

查看[此][1]堆栈溢出链接[1]:@AnandMakwana谢谢。它起作用了:问题在于notifyChange的第二个参数需要是一个内容观察者/从另一条评论来看,该解决方案有效: