代码之家  ›  专栏  ›  技术社区  ›  Janusz Daniel Rindt

如何将图像保存到Android中的媒体提供商?

  •  0
  • Janusz Daniel Rindt  · 技术社区  · 15 年前

    我用了这个密码 snippet :

    ContentValues image = new ContentValues();
    
    image.put(Images.Media.TITLE, "ImageTitle");
    image.put(Images.Media.DISPLAY_NAME, "Heart");
    image.put(Images.Media.DESCRIPTION, "Heart");
    image.put(Images.Media.DATE_ADDED, dateTaken);
    image.put(Images.Media.DATE_TAKEN, dateTaken);
    image.put(Images.Media.DATE_MODIFIED, dateTaken);
    image.put(Images.Media.MIME_TYPE, "image/png");
    image.put(Images.Media.ORIENTATION, 0);
    
    File parent = imageFile.getParentFile();
    String path = parent.toString().toLowerCase();
    String name = parent.getName().toLowerCase();
    image.put(Images.ImageColumns.BUCKET_ID, path.hashCode());
    image.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, name);
    image.put(Images.Media.SIZE, imageFile.length());
    
    image.put("_data", imageFile.getAbsolutePath());
    
    getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, image);
    

    我在应用程序的缓存目录中创建映像。我假设媒体提供商没有将图像复制到媒体文件夹中,因此无法从媒体库应用程序访问该图像。是否可以在不将文件写入手机大容量存储器的情况下将图像添加到多媒体资料中?

    1 回复  |  直到 15 年前
        1
  •  2
  •   alarik    15 年前

    我认为你正在寻找的答案是 here