Android - 获取最新拍摄的照片

标签 android

我想在我的应用中向用户展示他的最新照片或他制作的屏幕截图。

                    String[] projection = new String[]{
                        MediaStore.Images.ImageColumns._ID,
                        MediaStore.Images.ImageColumns.DATA,
                        MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
                        MediaStore.Images.ImageColumns.DATE_TAKEN,
                        MediaStore.Images.ImageColumns.MIME_TYPE
                };
                final Cursor cursor = getActivity().getContentResolver()
                        .query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null,
                                null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

为了在手机上获取最新照片,我使用了 Cursor

如何查看图片/屏幕截图是否在此手机上拍摄?

我不想显示不相关的 WhatsApp 照片(或其他应用程序),只显示相机胶卷中的照片和屏幕截图。

最佳答案

我觉得这篇文章https://stackoverflow.com/a/4495753/2014374应该可以帮助您找到答案。

它在 Images.Media.EXTERNAL_CONTENT_URI 上使用内容解析器,并通过从媒体桶名称“/DCIM/Camera”中获取 Media.BUCKET_ID 来过滤结果;希望这可以帮助。

关于Android - 获取最新拍摄的照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083168/

相关文章:

android - 菜单项被添加到组外

Android级联布局?

android - 如何在 PhoneGap 应用程序启动时启动 Android Activity ?

java - Android sqlite 数据库 - 如何显示 ListView 在滚动末尾添加 “Load more items”

android - 使用 TravisCI 将 APK 上传到 Github

android - 围栏状态的感知 API 查询

java - 由命令行调用的 Android apkanalyzer 给出 "NoClassDefFoundError"异常

android - 如何在设备在 android 中移动时在谷歌地图上移动标记(当前标记)

android - 如何在服务器上以base64上传图片

java - 使用 JNI 将 float* 转换为 jfloatArray