首页 > Java > java教程 > 正文

如何使用自定义元数据将图像保存到 Android 图库?

Barbara Streisand
发布: 2024-11-02 17:08:29
原创
230 人浏览过

How to Save an Image to the Android Gallery with Custom Metadata?

将图像保存到 Android 中的图库

将图像保存到 Android 应用程序中的图库可以通过 MediaStore 类来实现。在 onOptionsItemSelected 侦听器中使用以下方法:

<code class="java">MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, title, description);</code>
登录后复制

其中位图是您的图像,标题和描述是可选元数据。此方法将图像添加到图库的末尾。

自定义图像元数据

如果您希望修改图像的日期或其他元数据以正确放置在图库中:

<code class="java">// Import the necessary libraries
import android.provider.MediaStore;
import android.graphics.Bitmap;

// New method to insert image with customized metadata
public static String insertImageWithMetadata(ContentResolver cr, Bitmap source, String title, String description, long timestamp) {
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, title);
    values.put(MediaStore.Images.Media.DISPLAY_NAME, title);
    values.put(MediaStore.Images.Media.DESCRIPTION, description);
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.Images.Media.DATE_ADDED, timestamp);
    values.put(MediaStore.Images.Media.DATE_TAKEN, timestamp);

    Uri uri = null;
    String stringUrl = null;

    try {
        uri = cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

        if (source != null) {
            OutputStream imageOut = cr.openOutputStream(uri);
            source.compress(Bitmap.CompressFormat.JPEG, 50, imageOut);
            imageOut.close();
        } else {
            cr.delete(uri, null, null);
            uri = null;
        }
    } catch (Exception e) {
        if (uri != null) {
            cr.delete(uri, null, null);
            uri = null;
        }
    }

    if (uri != null) {
        stringUrl = uri.toString();
    }

    return stringUrl;
}</code>
登录后复制

此方法包含用于自定义 DATE_ADDED 和 DATE_TAKEN 值的附加参数,允许您控制图像在图库中的位置。时间戳参数表示以毫秒为单位的日期和时间。

以上是如何使用自定义元数据将图像保存到 Android 图库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板