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的第二个参数需要是一个内容观察者/从另一条评论来看,该解决方案有效: