我在保存图片时遇到了文件名称的问题。
String fileName = currentDate + currentTime + personName;
private void saveImage()
{
View u = mView;
ScrollView z = (ScrollView) findViewById(R.id.scroll_view);
int totalHeight = z.getChildAt(0).getHeight();
int totalWidth = z.getChildAt(0).getWidth();
Bitmap b = getBitmapFromView(u, totalHeight, totalWidth);
try {
FileOutputStream fos = new FileOutputStream(fileName);
b.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
MediaStore.Images.Media.insertImage(getContentResolver(), b, "Screen", "screen");
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
输出文件时,文件的名称设置为一系列数字(例如:" 1457223074488")而不是字符串。 如果有人可能有解决方案,请告诉我。
答案 0 :(得分:0)
您正在调用MediaStore.Images.Media.insertImage
的错误版本。你正在调用的那个只需要一个Bitmap作为输入来保存。它对您创建的文件一无所知。它没有在javadoc中定义它将用于位图的文件的名称。
相反,您可能希望使用您创建的名称文件调用它:
MediaStore.Images.Media.insertImage(getContentResolver(), fileName, "Screen", "screen");
此外,您应该在javadoc中注意MediaStore将为图像创建缩略图,并且为其创建的文件的名称可能是它想要的任何内容。