包含所有图像的 Android 文件夹的路径

Path to Android folder with all images

我正在尝试构建一项功能,将最新保存的图像从设备加载到应用程序中。 目前我正在使用这条路径 DCIM/Camera/ 但它只存储相机拍摄的图像。是否有存储所有图像的文件夹? (屏幕截图、从网络或相机胶卷中保存的图像)

您可以让系统为您处理,而不是在文件夹中搜索图像。

Android 自行索引大多数媒体数据(图像、音乐等)并提供 Content Providers 查询这些数据库。

为了您的目的,您可以使用 MediaStore.Images.Media-provider

public List<String> getImagePaths(Context context) {
    // The list of columns we're interested in:
    String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.DATE_ADDED};

    final Cursor cursor = context.getContentResolver().
            query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, // Specify the provider
                    columns, // The columns we're interested in
                    null, // A WHERE-filter query
                    null, // The arguments for the filter-query
                    MediaStore.Images.Media.DATE_ADDED + " DESC" // Order the results, newest first
            );

    List<String> result = new ArrayList<String>(cursor.getCount());

    if (cursor.moveToFirst()) {
        final int image_path_col = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        do {
            result.add(cursor.getString(image_path_col));
        } while (cursor.moveToNext());
    }
    cursor.close();

    return result;
}

该方法将 return 当前由 MediaStore 索引的所有图像的图像路径列表,最新的在前。您需要 android.permission.READ_EXTERNAL_STORAGE-权限才能正常工作!