我在网格视图中显示所有 sd 卡图像。问题是我必须显示设备外部存储上的所有图像,同时不显示相机图像。我知道为此我需要获取相机存储桶ID或存储桶显示名称。我不知道如何做到这一点。所以任何人都可以帮助我如何做到这一点..
问问题
1450 次
2 回答
1
通常相机图像存储在特定文件夹中,DCMI 文件夹。只是不要显示 DCMI 文件夹中的图像,当您在 sd 卡中搜索图像时跳过该文件夹
于 2013-03-20T12:23:36.623 回答
1
试试这个。你可能需要修改这个
public static ArrayList<String> getPathOfAllImages(Activity activity) {
ArrayList<String> absolutePathOfImageList = new ArrayList<String>();
String absolutePathOfImage = null;
String nameOfFile = null;
String absolutePathOfFileWithoutFileName = null;
Uri uri;
Cursor cursor;
int column_index;
int column_displayname;
int lastIndex;
uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] projection = { MediaColumns.DATA,
MediaColumns.DISPLAY_NAME };
cursor = activity.managedQuery(uri, projection, null, null, null);
column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
column_displayname = cursor
.getColumnIndexOrThrow(MediaColumns.DISPLAY_NAME);
while (cursor.moveToNext()) {
absolutePathOfImage = cursor.getString(column_index);
nameOfFile = cursor.getString(column_displayname);
lastIndex = absolutePathOfImage.lastIndexOf(nameOfFile);
lastIndex = lastIndex >= 0 ? lastIndex
: nameOfFile.length() - 1;
absolutePathOfFileWithoutFileName = absolutePathOfImage
.substring(0, lastIndex);
if (absolutePathOfImage != null&& !absolutePathOfImage.equals("/sdcard/DCMI/")) {
absolutePathOfImageList.add(absolutePathOfImage);
}
}
使用 absolutePathOfImageList 填充您的网格视图
于 2013-03-20T13:16:53.410 回答