Я показываю все изображения SD-карты в виде сетки. Дело в том, что я должен отображать все изображения, которые есть на внешнем хранилище устройства, и в то же время время, чтобы не отображать изображения камеры. Я знаю, что для этого мне нужно получить либо идентификатор ведра камеры, либо имя отображаемого ведра. Я не понимаю, как это сделать. Так кто может мне помочь, как это сделать.отображает все изображения, за исключением определенного отображаемого имени ведра в android
1
A
ответ
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 для заполнения Вашего взгляда сетки
1
Обычно изображения с камеры хранятся в определенной папке, папке DCMI. Просто не показывайте изображения, находящиеся в папке DCMI, пропустите эту папку при поиске изображений на вашей SD-карте.
Пожалуйста, вы можете сказать мне, как это сделать – indraja