将图像保存到 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中文网其他相关文章!