将图像保存到图库中
问题描述:
我正在截取屏幕截图并使用我的应用程序名称将其保存在存储器中。它没有给出任何错误并将照片保存在存储器中,但重新启动手机后它会出现在图库中。将图像保存到图库中
我保存照片的方法是象下面这样:
public void saveQuoteImage(Bitmap quoteImage){
Date now = new Date();
android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now);
try {
// image naming and path to include sd card appending name you choose for file
String dirPath=Environment.getExternalStorageDirectory().toString()+File.separator+"quotes_king";
File dirFile=new File(dirPath);
if(!dirFile.exists())dirFile.mkdirs();
// String mPath = Environment.getExternalStorageDirectory().toString() + "/" + now + ".jpg";
// create bitmap screen capture
File imageFile = new File(dirFile.getPath()+File.separator+ now + ".jpg");
FileOutputStream outputStream = new FileOutputStream(imageFile);
int quality = 100;
quoteImage.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
outputStream.flush();
outputStream.close();
} catch (Throwable e) {
// Several error may come out with file handling or OOM
e.printStackTrace();
}
}
我很想念在这?
谢谢
答
你只需要在MediaScanner告诉你的文件存在。
事情是这样的:在android.Just
public final void addManually(File file) {
try{
MediaStore.Images.Media.insertImage(mContext.getContentResolver(),
file.getAbsolutePath(), file.getName(), null);
mContext.sendBroadcast(new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
Uri.fromFile(file))
);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
+0
这是工作好:) –
答
使用媒体扫描器添加下面的代码。
MediaScannerConnection.scanFile(this, new String[] { imagefile.toString() }, null, null);
什么是错误? –
@victorsosa感谢您的评论。它没有给出任何错误,但只有重新启动手机后才显示保存的图像。 –