我创建了一个功能,用于从图库中保存选定的图像。我意识到,当第一次保存图像时就可以了。但是,如果再次启动该过程,则似乎图像已保存(具有相同的名称)但是图像不会在资源管理器中更改。它只是保留旧的位图图像。我在两个不同的设备上进行了测试,但结果相同。实际上,在Infinix hot 7上却具有相同的结果。
public static String saveImage(Bitmap bitmap, File[] folders, File file, Context context) {
for (File folder:folders) {
if (!folder.exists()) {
folder.mkdirs();
}
}
if (file.exists ()) {
file.delete();
}
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes);
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
“>
“>
您可以看到我选择了一张绿色的照片,但上面记录了一张旧的红树照片
我创建了一个功能,用于从图库中保存选定的图像。我意识到,第一次保存图像时就可以了。但是,如果再次开始该过程,则似乎图像已保存(使用...
将图像保存在图库中后,您应该将图像更新到用于图库和文件浏览器的系统
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(myNewFile)));