gpt4 book ai didi

android - 列出Android中的所有相机图像

转载 作者:可可西里 更新时间:2023-11-01 19:09:57 25 4
gpt4 key购买 nike

如何获取 Android 设备的所有相机图像列表?

是通过 MediaStore 吗?怎么办?

最佳答案

Gallery 应用程序使用 content resolver 获取相机图像在 Images.Media.EXTERNAL_CONTENT_URI并按 Media.BUCKET_ID 过滤结果.桶标识符由以下代码确定:

public static final String CAMERA_IMAGE_BUCKET_NAME =
Environment.getExternalStorageDirectory().toString()
+ "/DCIM/Camera";
public static final String CAMERA_IMAGE_BUCKET_ID =
getBucketId(CAMERA_IMAGE_BUCKET_NAME);

/**
* Matches code in MediaProvider.computeBucketValues. Should be a common
* function.
*/
public static String getBucketId(String path) {
return String.valueOf(path.toLowerCase().hashCode());
}

基于此,这里有一个获取所有相机图像的 fragment :

public static List<String> getCameraImages(Context context) {
final String[] projection = { MediaStore.Images.Media.DATA };
final String selection = MediaStore.Images.Media.BUCKET_ID + " = ?";
final String[] selectionArgs = { CAMERA_IMAGE_BUCKET_ID };
final Cursor cursor = context.getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI,
projection,
selection,
selectionArgs,
null);
ArrayList<String> result = new ArrayList<String>(cursor.getCount());
if (cursor.moveToFirst()) {
final int dataColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
do {
final String data = cursor.getString(dataColumn);
result.add(data);
} while (cursor.moveToNext());
}
cursor.close();
return result;
}

有关详细信息,请查看图库应用源代码的 ImageManager 和 ImageList 类。

关于android - 列出Android中的所有相机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com