Android:检查MediaStore中是否已存在文件

时间:2014-11-01 15:43:32

标签: android

我使用以下代码将图像存储在媒体存储中(以便启用共享):

public static Uri storeInMediaStore(Context context, Bitmap bitmap, String title) {
    ContentValues values = new ContentValues();
    values.put(Images.Media.TITLE, title);
    values.put(Images.Media.BUCKET_ID, "xxx");
    values.put(Images.Media.DESCRIPTION, "Shared via xxx");
    values.put(Images.Media.MIME_TYPE, "image/jpeg");
    Uri uri = context.getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
    OutputStream outstream;
    try {
        outstream = context.getContentResolver().openOutputStream(uri);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 70, outstream);
        outstream.close();
    } catch (FileNotFoundException e) {
    } catch (IOException e) {
    }

    return uri;
}
我在StackOverflow中找到的

。这段代码完美无缺,但问题是,每次用户点击分享按钮时,我都会存储一个多余的新图像。

我需要做的是检查具有此标题和说明的图像是否已经存在(标题是应用名称,文件名和日期的组合,并且每个图像是唯一的),如果是这样,只需返回现有的URI和如果没有,创建,保存然后返回新的Uri(上面的代码正在做)。

之前是否有人这样做过或知道如何按标题和说明查询媒体商店?

非常感谢,

0 个答案:

没有答案