Android:将位图保存到图库==>时间错了

时间:2014-02-13 16:09:44

标签: android bitmap image-gallery

在我的Android应用程序中,我想在库中保存位图,实际上可以使用下面的代码。唯一的错误是,当我在画廊中打开图像时,细节中创建的时间是错误的。并且说明图像在图库中的顺序不正确。

有人有想法吗? 非常感谢您的帮助

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
Bitmap combination = //get my bitmap!
//save in gallery
MediaStore.Images.Media.insertImage(exploreActivity.getContentResolver(),combination,"test_"+ timeStamp + ".jpg",timeStamp.toString());

这里是详细信息的打印屏幕:

a busy cat http://i61.tinypic.com/2ypnggl.png

3 个答案:

答案 0 :(得分:11)

插入图片时需要定义DATE_TAKEN。这可以通过改变将图像添加到图库的方式来完成,并执行以下操作:

public static Uri addImageToGallery(Context context, String filepath, String title, String description) {    
    ContentValues values = new ContentValues();
    values.put(Media.TITLE, title);
    values.put(Media.DESCRIPTION, description); 
    values.put(Images.Media.DATE_TAKEN, System.currentTimeMillis());
    values.put(Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.MediaColumns.DATA, filepath);

    return context.getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
}

如果您需要任何其他指示,我会看看MediaStore.Images.Media.insertImage

答案 1 :(得分:0)

您是否正确导入了课程java.util.Date?也许自动导入从sql中获取了一个,常见的错误。

答案 2 :(得分:0)

对于那些追随我的人:系统会在您使用insertImage(...)添加图像时生成图章,但仅在重新启动或刷新其他图片后生成。按照方法 Get filename and path from URI from mediastorehttps://stackoverflow.com/a/5814533/2563422相结合,立即通知图库您存储的每个位图。